By : Hanung Nindito Prasetyo data yang terdiri atas sejumlah perintah (command) yang dapat...

28
By : Hanung Nindito Prasetyo Program Studi Teknik Komputer Jurusan Teknologi Informasi Politeknik Telkom 2012 HanungNP/Basis Data/Politel/2012

Transcript of By : Hanung Nindito Prasetyo data yang terdiri atas sejumlah perintah (command) yang dapat...

By : Hanung Nindito Prasetyo

Program Studi Teknik KomputerJurusan Teknologi InformasiPoliteknik Telkom2012

HanungNP/Basis Data/Politel/2012

DBMS merupakan perantara bagi pemakaidengan basis data dalam disk.

Cara berinteraksi / berkomunikasi antarapemakai dengan basis data tersebut diaturdalam bahasa khusus yang ditetapkan oleh pihakpembuat DBMS.pembuat DBMS.

Bahasa tersebut dapat disebut sebagai bahasabasis data yang terdiri atas sejumlah perintah(command) yang dapat dituliskan / diberikanuser untuk kemudian diproses oleh DBMS untukmelakukan suatu aksi tertentu.

Contoh : SQL, dBase, dsb.

HanungNP/Basis Data/Politel/2012

Sebuah Bahasa basis data biasanya dapatdipilah ke dalam 2 kelompok, yaitu :

1. Data Definition Language (DDL)2. Data Manipulation Language (DML)2. Data Manipulation Language (DML)

HanungNP/Basis Data/Politel/2012

DDL adalah bahasa basis data yangdigunakan untuk menggambarkan desainbasis data secara keseluruhan.

Dengan DDL kita dapat membuat tabelbaru, membuat indeks, mengubah tabel,baru, membuat indeks, mengubah tabel,menentukan struktur penyimpanan tabel,dsb.

Hasil dari kompilasi perintah DDL adalahkumpulan tabel yang disimpan dalam filekhusus yang disebut Kamus Data (DataDictionary).

HanungNP/Basis Data/Politel/2012

DML berisi kumpulan perintah yangberguna untuk melakukan manipulasi danpengambilan data pada suatu basis data.

Manipulasi data dapat berupa :Manipulasi data dapat berupa :1. Penyisipan / Penambahan data baru

ke suatu basis data.2. Penghapusan data dari suatu basis

data.3. Pengubahan data di suatu basis data.

HanungNP/Basis Data/Politel/2012

HanungNP/Basis Data/Politel/2012

Hasil kompilasi dari perintah DDL adalah satu set dari tabelyang disimpan dalam file khusus disebut datadictionary/directory. Satu set directory adalah satu file yangberisi meta data yaitu “data mengenai data” file inidikonsultasikan sebelum data sebenarnya dibaca ataudimodifikasikan dalam satu sistem database.

Statement yang terdapat dalam DDL :- CREATE DATABASE

TABLEINDEXINDEXVIEW

- DROP DATABASETABLEINDEXVIEW

- ALTER TABLE

HanungNP/Basis Data/Politel/2012

Data Definition menggunakan SQL :

Tabel Dokter (Kode_Dok menunjukkan primary key dari tabel dokter)

Kode_Dok Nama_Dok

D001D003D004D015

Alfian JoniKuniawanEsti YulianaSri Ningsih

Tabel Pasien (Kode_Pas menunjukkan primary key dari tabel pasien)

Kode_Pas Nama_Pas Jekel Alamat

P051P063P004P015P125P023

ElfisLinda YatiHelmiDepi HaryantoYanti OctaviaDevi Marlina

LPLLPP

Sungai PenuhTanjung TanahSemurupSebukarSungai PenuhSungai Penuh

HanungNP/Basis Data/Politel/2012

Tabel Berobat

Kode_Pas Kode_Dok Tgl_Berobat Nama_sakit

P051P063P004P015P051P063P015

D004D015D001D003D004D015D004

12-05-200510-04-200510-04-200512-05-200515-05-200515-05-200516-05-2005P015

P015D004D004

16-05-200522-05-2005

Create Database → membuat database

Bentuk Umum :

Create Database (nama_database);

HanungNP/Basis Data/Politel/2012

Contoh :Buat file database dengan nama puskesmas→ Create Database puskesmas

utk menggunakan database gunakan perintah>> use namadatabase

Create Table → membuat tabelBentuk Umum :Create Table nama_tabel (nama_kolom1, tipe_data, lebar_data,….);Create Table nama_tabel (nama_kolom1, tipe_data, lebar_data,….);

Keterangan : nama_tabel → nama yang diberikan di tabel baru. Nama tabel maksimal

terdiri dari 8 karakter. Tidak boleh memakai spasi, terdiri dari huruf. nama_kolom → nama yang diberikan untuk kolom baru, maksimal terdiri dari

10 karakter. Tidak boleh memakai spasi, terdiri dari huruf, angka dan lain-lain. type_data → jenis data yang nilainya dimasukkan dalam kolom yang telah

ditentukan. lebar_data → nomor spasi karakter untuk mengikuti data yang dimasukkan

dalam kolom yang telah ditentukan.

HanungNP/Basis Data/Politel/2012

Contoh :- Buat tabel Dokter

→ Create Table Dokter (Kode_Dok int(4) notnull,nama_dok varchar(25) notnull);

- Buat tabel Berobat→ Create Table Berobat (Kode_Pas int(4) notnull,

Kode_Dok int(4) notnull,tgl_berobat date(8) notnull,nama_sakit varchar(25) notnull);nama_sakit varchar(25) notnull);

HanungNP/Basis Data/Politel/2012

• untuk melihat tabel yg sudah dibuat, perintah;>> show tables;

• utk melihat struktur tabel>> describe namatabel>> describe namatabel

HanungNP/Basis Data/Politel/2012

HanungNP/Basis Data/Politel/2012

8lokasi

Pegawai Departemen

(0,N

) (0,N

)mengepalai

(0,1)

bekerjauntuk

Nama

NmDepan Inisial NmBlk

JenisKel

Alamat Gaji

NoKTP

nama nomor

JmlPegawai

(1,N)(1,1)

(1,1)

(1,N)

Proyek

Tanggungan

memimpin

(0,N

) (0,1

)

menanggung

bekerjapada

(0,N

)

mengatur

(1,1

)(0

,N)

NamaJenisKel TglLahir

Hubungan

Nomor Nama Lokasi

TglMulai

LamaJam

JmlPegawai

(1,N)

(1,N)

(1,1

)

HanungNP/Basis Data/Politel/2012

indeks dalam database dapatdiumpamakan seperti indeks dalamsebuah buku yang tebal, sehingga itemtertentu dapat ditemukan dengan cepat.tertentu dapat ditemukan dengan cepat.Sebuah indeks dalam basis databerfungsi untuk mempercepat pencariandata berdasarkan kolom tertentu.

HanungNP/Basis Data/Politel/2012

Sebuah perintah :SELECT * FROM pegawai WHERE nip=‘198308282008122002’;

jika nip tidak dijadikan indeks, maka pencarian jika nip tidak dijadikan indeks, maka pencariandata akan dilakukan pada seluruh tabel, dapatdianalogikan seperti mencari sesuatu dalamsebuah buku dan buku tersebut tidakdilengkapi dengan indeks.Tetapi jika terdapatindeks yang berkaitan dengan nip maka akanditemukan lebih cepat.

HanungNP/Basis Data/Politel/2012

Dengan penambahan indeks pada suatudata akan menambah kecepatanpengaksesan data tersebut, tanpa harusmengubah urutan fisik datanya dan jugamengubah urutan fisik datanya dan jugadapat mempercepat proses pencarian databerdasarkan nilai field tertentu.

HanungNP/Basis Data/Politel/2012

Tabel 1.1 adalah tabel ad yang takberindeks sehingga jika dicari nilai-nilaitertentu pada kolom company, makanilai-nilai yang ada di masing-masingnilai-nilai yang ada di masing-masingbaris harus diperiksa. Ini lah yangdisebut full-tabel scan.

HanungNP/Basis Data/Politel/2012

HanungNP/Basis Data/Politel/2012

Tabel 1.2 merupakan tabel yg sama tapidengan tambahab indeks. Indeks berisisebuah masukan untuk masing-masingbaris dalam tabel ad, akan tetapi nilaibaris dalam tabel ad, akan tetapi nilainom_company pada indeks telah terurut.

HanungNP/Basis Data/Politel/2012

HanungNP/Basis Data/Politel/2012

Create Index → membuat index.Bentuk Umum :Create (unique) Index nama_index on nama_tabel (nama_kolom);

Keterangan :unique → pilihan perincian yang dapat digunakan untukmenguatkan nilai data di dalam kolom namaindex menjadi unik.nama_index → nama index yang baru.nama_tabel → nama tabel yang berisi kolom index akan dibuat.nama_tabel → nama tabel yang berisi kolom index akan dibuat.nama_kolom → nama dari kolom tempat index akan dibuat. Yangterdiri dari Asc untuk pilihan index naik dan Desc untukpilihan index menurun.

Contoh :- Buat index data pasien berdasarkan kode_pas dengan

nama pasien2→ Create index pasien2 on pasien (kode_pas);

- Buat index data berobat berdasarkan kode_dok dengannama obat2→ Create index obat2 on berobat (kode_dok);

HanungNP/Basis Data/Politel/2012

View adalah tabel virtual yang isinyadidefinisikan oleh query database.Viewbukanlah sebuah tabel fisik, tetapisekumpulan instruksi yang menghasilkansekumpulan instruksi yang menghasilkansekumpulan data.

HanungNP/Basis Data/Politel/2012

View hanya bisa dibuat di dalam databaseyang sedang digunakan.

View bisa menggunakan data dari view lain. Kita tidak bisa membuat indeks untuk view. Jika ada lebih dari satu kolom view yang

memiliki nama yang sama, kolom tersebutharus diberi alias.

Kolom didalam view sama dengan kolomditabel asal.

HanungNP/Basis Data/Politel/2012

Create View → untuk membuat tabel view.Create view lebih bersifat manipulasi data daripadapernyataan definisi data.

Bentuk Umum :Create View nama_view [(nama_kolom1,…)]As Select statement [with check option];

Keterangan :nama_view → harus dimulai dari huruf, bilangan atau garisnama_view → harus dimulai dari huruf, bilangan atau garis

bawah. Maksimal terdiri dari 9 karakter.with check option → merupakan klausa optimal yang

menyebabkan semua perubahan danpenyisipan ke view akan diperiksa untukmengetahui apakah semua itu memenuhidefinisi view.

HanungNP/Basis Data/Politel/2012

Contoh :- Buat view dengan nama pasienview yang berisi semua

data pasien.→ Create view pasienview As select * from pasien;

- Buat view dengan nama berobatview yang berisikode_pas, kode_dok dan tgl_berobat.→ Create view berobatview (kode_pas, kode_dok, tgl_berobat)

As select kode_pas, kode_dok, tgl_berobat from berobat ;

Drop (database, table, index, view) → Drop (database, table, index, view) →digunakan untuk menghapus database, tabel,index, dan view.

Bentuk Umum :Drop Database nama_database ; → untuk menghapus databaseDrop Table nama_tabel ; → untuk menghapus tabelDrop Index nama_index ; → untuk menghapus tabel indexDrop View nama_view ; → untuk menghapus view

HanungNP/Basis Data/Politel/2012

Contoh :Hapus database pasien

→ Drop database pasien ;Hapus tabel berobat

→ Drop table berobat ;Hapus tabel index dokter

→ Drop index dokter ;Hapus tabel view pasien

→ Drop view pasien ;

Alter Table → digunakan untuk menambah Alter Table → digunakan untuk menambahsatu atau lebih kolom di tabel yang barudibuat.Bentuk Umum :Alter Table nama_tabel

ADD (nama_kolom, jenis_kolom) → untuk menambah kolomMODIFY (nama_kolom, jenis_kolom) → untuk mengubah kolomDROP (nama_kolom, jenis_kolom) → untuk menghapus kolom

HanungNP/Basis Data/Politel/2012

Contoh :

1. Tambahkan kolom alamat (Alt) dengan panjang 25karakter pada tabel Dokter→ Alter table dokter add (alt char(25)) ;

2. Ubah panjang kolom nama dokter (nama_dok) menjadi15 karakter→ Alter table dokter modify (nama_dok char(15)) ;

3. Hapus kolom tanggal berobat (tgl_berobat) dari tabel3. Hapus kolom tanggal berobat (tgl_berobat) dari tabelberobat→ Alter table berobat drop (tgl_berobat char(8)) ;

HanungNP/Basis Data/Politel/2012