MODEL DATA RELASIONAL
Pengertian Basis Data Relasional
• Basis Data relasional menggunakan tabel dua dimensi yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas data.
• Basis data akan “disebar” atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap table selalu terdiri atas lajur mendatar yang disebut baris data (row / record) dan lajur vertikal yang biasa disebut dengan kolom (column / field).
Contoh Tabel dan keterhubungannya
MHS
NPM Nama Alamat
10296832 Nurhayati Jakarta
10296162 Astuti Jakarta
31296500 Budi Depok
41296525 Prananingrum Bogor
50096487 Pipit Bekasi
21196353 Quraish Bogor
MKUL
KDMK MTKULIAH SKS
KK021 P.Basis data 2
KD132 SIM 3
KU122 Pancasila 2
Tabel penghubungnya :
NILAI
NPM KDMK MID FINAL
10296831 KK021 60 75
10296126 KD132 70 90
31296500 KK021 55 40
41296525 KU122 90 80
21196353 KU122 75 75
50095487 KD132 80 0
10296832 KD132 40 30
Keuntungan Basis Data Relasional
• Bentuknya sederhana
• Mudah melakukan berbagai operasi data.
Istilah dalam Basis Data Relasional
• Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapabaris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
• Atribut
Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data.
• Tuple
Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yangsaling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM,nama mahasiswa, alamat, kota, dll.
• Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
• Derajat (degree)
Jumlah atribut dalam sebuah relasi
• Cardinality
Jumlah tupel dalam sebuah relasi
Relational Key
• Super key
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple didalam relasi
• Candidate key
Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas. Atribut di dalam relasi yang biasanya mempunyai nilai unik. Satu set minimal dari atribut menyatakan secara taklangsung dimana kita tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.
• Primary key
Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
• Alternate key
Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key.
• Foreign key (Kunci Tamu)
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Kunci tamu ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan.
Relational Integrity Rules
• Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
• Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
• Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.
Bahasa Pada Basis data Relational Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena merupakan inti dari upaya untuk pengelolaan data
Bahasa query terbagi 2 :
1. Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan symbol-simbol matematis.
Contoh :
•Aljabar Relasional
Bahasa query prosedural, pemakai menspesifikasikan data apa yangdibutuhkan dan bagaimana untuk mendapatkannya.
•Kalkulus Relasional
Bahasa query non-prosedural, pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Contoh :
• QUEL
Berbasis pada bahasa kalkulus relasional
• QBE
Berbasis pada bahasa kalkulus relasional
• SQL
Berbasis pada bahasa kalkulus relasional dan aljabar relasional
Contoh-contoh Basis Data Relasional :
DB2 - IBM
Oracle - ORACLE
Sybase - POWERSOFT
Informix - INFORMIX
Microsoft Access – MICROSOFT
STRUCTURED QUERY LANGUAGE
(S Q L)
STRUCTURED QUERY LANGUAGE
(SQL)
Merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language). SQL dapat digunakan secara interaktif atau ditempelkan (embedded) pada suatu program aplikasi.
KOMPONEN-KOMPONEN SQL
? DATA DEFINITION LANGUAGE (DDL)
Digunakan untuk mendefinisikan data dengan menggunakan perintah : Create, Drop, Alter
? DATA MANIPULATION LANGUAGE (DML)
Digunakan untuk memanipulasi data dengan menggunakan perintah : Select, Insert, Delete, Update. DML merupakan bagian terpadu bahasa SQL. Perintahperintahnya dapat dibuat secara interaktif atau ditempelkan pada program aplikasi. Pemakai hanya menentukan “APA” yang diinginkan, DBMS menentukan “BAGAIMANA” cara mendapatkannya.
? DATA CONTROL LANGUAGE (DCL)
Digunakan untuk mengontrol hak para pemakai data dengan perintah : Grant, Revoke
DATA DEFINITION LANGUAGE
1. CREATE TABLE
Fungsi : membuat table
Sintaks : CREATE TABLE tbname
(col 1 data type data spec,
Col 2 data type data spec,
-
-
PRYMARY KEY (col1………))
Contoh :
CREATE TABLE PERSONAL
(REGNO CHAR( 10 ) NOT NULL,
NAME CHAR( 45 ) NOT NULL,
ADDRES CHAR( 45 ),
BIRTH DATE NOT NULL WITH DEFAULT.
PRIMARY KEY (REGNO))
NULL
Spesifikasi NULL, NOT NULL, NOT NULL WITH DEFAULT
NULL :
Dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. Null bukan berarti kosong (blank) atau 0 (nol).
NOT NULL :
Pemakai atau program harus memberikan nilai-nilai ada saat memasukkan record.
NOT NULL WITH DEFAULT :
Nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini.
Nilai default-nya :
Nol untuk tipe field NUMERIC
Blank untuk tipe field CHARACTER
CURRENT DATE untuk tipe field DATE
CURRENT TIME untuk tipe field TIME
2. CREAT VIEW
Fungsi : membuat table view.
View merupakan bentuk alternative penyajian data dari satu atau lebih table. View dapat berisi semua atau sebagian kolom yang terdapat pada table dimana kolom tersebut didefinisikan.
Tujuan membuat view :
• Meningkatkan keamanan data
• Meningkatkan kemandirian data
• Penyederhanaan bagi end user (data yang sedikit, nama-nama kolom yang baru dan dapat dibaca dengan lebih baik).
Properti :
• Tidak terdapatnya data tambahan
• View mwncakup subset kolom dan / atau baris
• View dapat berisikan data dari beberapa table dan/atau tbel-tabel view lainnya
• View dapat berisikan perolehan data, missal : nilai rata-rata
• Manipulasi data melalui view terbatas
Sintaks : CREATE VIEW viewname (column1. column2, …….)
AS SELECT statement FROM tbname
[WITH CHECK OPTION]
Keterangan :
View-name : nama view yang akan dibuat.
Column : nama atribut untuk view
Statement : atribut yang dipilih dari table basis data.
Tabel-name : nama table basis data.
Contoh :
CREATE VIEW VPERSON (REGNO, NAME) AS
SELESCT REGNO, NAME FROM PAUL PERSONEL
3. CREATE INDEX
Fungsi : membuat index
Sintaks : CREATE UNIQUE INDEX PERSONIDX
ON PERSONEL (REGNO)
Dengan index memungkinkan suatu table diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari datanya dan dapat pula diakses secara cepat melalui index yang dibuat berdasar nilai field tertentu. Spesifikasi UNIQUE akan menolak key yang sama dalam file.
4. DROP TABLE
Fungsi : menghapus table
Sintaks : DROP TABLE tbname
Contoh : DROP TABLE PERSONEL
Dengan perintah itu obyek lain yang berhubungan dengan table tersebut otomatis akan dihapus atau tidak akan berfungsi seperti :
- semua record dalam table akan terhapus
- index dan view pada table akan hilang
- deskripsi table akan hilang
5. DROP VIEW
Fungsi : menghapus view
Sintaks : DROP VIEW viewname
Contoh : DROP VIEW VPERSON
6. DROP INDEX
Fungsi : menghapus index
Sintaks : DROP INDEX indexname
Contoh : DROP INDEX PRSONIDX
7. ALTER
Fungsi : merubah atribut pada suatu table
Sintaks : ALTER TABLE tbname
MODIFY (nama_kolom tipe kolom)
ADD (nama_kolom tipe_kolom [[before, nama_kolom]])
DROP (nama_kolom tipe_kolom)
Contoh : merubah table TABX dengan menambah field D.
ALTER TABLE TABX
ADD D CHAR(3)
DATA MANIPULATION LANGUAGE
1. INSERT
Fungsi : menambah baris (record) baru
Sintaks : INSERT INTO tbname
(col1. ..) VALUES (value1. …)
Contoh :
Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai. Tetapi jika dalam table semua kolom akan diisi dapat digunakan sintaks berikut ini :
Sintaks : INSERT INTO tbname
VALUES (value1, value2, …)
Nilai-nilai diisikan sebanyak kolomyang terdapat di tael tersebut.
2. UPDATE
Fungsi : Merubah record
Sintaks : UPDATE tbname SET field = ekspresi
WHERE kondisi
3. DELETE
Fungsi : menghapus record
Sintaks : DELETE FROM tbname
WHERE kondisi
4. SELECT
Fungsi : menampilkan record
Sintaks : SELECT [DISTINCT] colname FROM tbname
[WHERE kondisi]
[GROUP BY kondisi]
[HAVING kondisi]
[ORDER BY kondisi]
Contoh kasus DDL :
• Membuat table (create table)
1. CREATE TABLE S
(Sn Char(5) NOT NULL,
Sname Char(20) NOT NULL,
Status Smallint NOT NULL,
City Char(15) NOT NULL);
2. CREATE TABLE P
(Pn Char(6) NOT NULL,
Pname Char(20) NOT NULL,
Color Char(6) NOT NULL,
Weight Smallint NOT NULL);
3. CREATE TABLE SP
(Sn Char(5) NOT NULL,
Pn Char(6) NOT NULL,
QTY INTEGER NOT NULL);
4. CREATE UNIQUE INDEX Sidx ON S(Sn);
CREATE UNIQUE INDEX ON P(Pn);
CREATE INDEX Sdx ON S(Sn);
CREATE INDEX Pdx ON P(Pn);
Contoh kasus DML :
• Menambah record (INSERT)
INSERT INTO S VALUES (‘S1’,’Smith’.20.’London’);
INSERT INTO S VALUES (‘S2’,’Jones’.10.’Paris’);
INSERT INTO S VALUES (‘S3’,’Blake’.30.’Paris’);
Tabel S, P dan SP isikan dengan data-data sebagai berikut:
TABEL S
SN Sname Status City
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blake 30 Paris
S4 Clarks 20 London
S5 Adams 30 Athens
TABEL P
Pn Pname warna weight city
P1 Nut Red 12 London
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rome
P4 Screw Red 14 London
P5 Cam Blue 12 Paris
P6 Cog Red 19 London
TABEL SP
Sn Pn Qty
S1 P1 300
S1 P2 200
S1 P 40
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P2 200
S4 P2 200
S4 P4 300
S4 P5 400
• Merubah record (UPDATE)
1. merubah data (record) pada abel P yan mempunai nomor part P2, warnanya dirubah menjadi kuning dan beratnya ditambah 5.
UPDATE P SET Warna = ‘yellow’,
Weight = Weight + 5
WHERE Pn = ‘P2’
2. Merubah record pada table S, statusnya menjadi dua kali status awal untuk supplier yang bertempat tinggal di kota London
UPDATE S SET status = 2* status
WHERE CITY= ‘london’
• Menghapus record (SELECT 1 tabel)
Menghapus record pada table S yang nomor supplier-nya S5
DELETE FROM S
WHERE Sn = ‘S5’
• Menampilkan record (SELECT 1 tabel)
1. Menampilkan semua data supplier
SELECT * FROM S
Atau
SELECT Sn, Sname, Status, City FROM S
2. Menampilkan semua nilai Pn pada tbel Sp
SELECT Pn FROM Sp
3. Menampilkan nomor supplier dan status untuk supplier yang tinggal di Paris.
SELECT Sn, Status FROM S
WHERE City = ‘Paris’
4. Menampilkan no.supplier yang tinggal di Paris dengan status > 20.
SELECT Sn FROM S
WHERE City = ‘Paris” AND Status > 20
5. Menampilkan jumlah pengiriman P1.
SELECT COUNT (*) FROM SP
WHERE Pn = ‘P1’
6. Perintah untuk menghindari hasil data yang sama terulang kembali (distinct)
SELECT DISTINCT Pn FROM Sp
7. Menampilkan no.supplier dan status bagi supplier yang tinggal di Paris dalam urutan status menurun.
SELECT Sn, Status FROM S
WHERE City = ‘Paris’
ORDER BY Status desc
8. Menampilkan no.part dari semua part yang dipasok oleh lebih dari seorang supplier.
SELECT Pn FROM Sp
GROUP BY Pn
HAVING COUNT (*) > 1
9. Menampilkan semua part yang nomornya dimulai dengan huruf c.
SELCET * FROM P
WHERE Pname LIKE ‘C%’
• Menampilkan record (SELECT lebih dari satu table/JOIN)
1. Menampilkan semua supplier dan part yang keduanya bertempat tinggal pada kota yang sama.
SELECT Sn, Sname, Status S.city, pn, Pname, warna, weight FROM S,P
WHERE S.city = P.city
2. Menampilkan nama supplier yang memasok barang dengan nomor part P2
SELECT Sname FROM S,SP
WHERE S.sn = SP. Sn AND SP. Pn = ‘P2’
3. Menampilkan nama supplier yang memasok part berwarna merah
SELECT Sname FROM S, SP, P
WHERE S.Sn = SP.Sn
AND Sp.Pn = P.Pn
AND P.COLOR = ‘RED’
• Menampilkan record (SELECT lebih dari satu table/SELECT bertingkat)
1. Menampilkan nama supplier yang memasok barang dengan no part P2
SELECT Sname FROM S WHERE Sn IN
(SELECT Sn FROM Sp WHERE Pn = ‘P2’)
2. Menampilkan nama supplier yang memasok dari part yang berwarna merah
SELECT Sname FROM S WHERE Sn IN
(SELECT Sn FROM Sp WHERE Pn IN)
(SELECT Pn FROM P WHERE warna = ‘RED’))
3. Menampilkan no.supplier dengan nilai status lebih kecil daripada nilai maksimum status yang ada pada tabel s.
SELECT Sn FROM S WHERE status <
(SELECT MAX (Status) FROM S)
4. Menampilkan nama supplier yang tidak memasok barang dengan no part P2
SELECT Sname FROM S WHERE Sn NOT IN
(SELECT Sn FROM SP WHERE Pn = ‘P2’)
5. Menampilkan semua no supplier yang sama lokasinya dengan S1
SELECT Sname FROM S WHERE city =
(SELECT city FROM S WHERE Sn = ‘S1’)
• Fungsi perhitungan
COUNT : Jumlah baris dalam kolom
SUM : Jumlah nilai dalam kolom
AVG : Rata – rata nilai dalam kolom
MAX : Nilai terbesar dalam kolom
MIN : Nilai terkecil dalam kolom
Untuk SUM dan AVG nilainya harus numeric (INT, SMALLINT, FLOAT). Fungsi-fungsi tersebut jika dikenakan pada nilai yang NULL maka nilainya akan diabaikan kecuali untuk COUNT (*).
1. Menghitung jumlah supplier
SELECT COUNT (*) FROM S
Atau
SELECT COUNT (Sn) FROM S
2. Menampilkan nomor part dan total kuantitas pengiriman dari setiap part.
SELECT Pn, SUM (Qty) FROM SP
GROUP BY Pn
3. Menghitung jumlah kuantitas dari P2 yang telah disupply
SELECT SUM (Qty) FROM SP WHERE Pn = ‘P2’
4. menampilkan jumlah pengiriman barang dengan nomor P4 dan dipasok oleh supplier S1
SELECT COUNT (*) FROM Sp
WHERE Pn = ‘P4’ AND Sn = ‘S1’
5. Menampilkan nomor part dan total kuantitas dari masing-masing part
SELECT Pn, SUM (QTY) FROM SP
GROUP BY P3
DATA CONTROL LANGUAGE
1. GRANT
Fungsi : digunakan untuk memberikan izin akses pada user
Sintaks : GRANT privileges ON Tbname To user
Contoh :
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE, ON CLUB TO USER01
2. REVOKE
Fungsi : Digunakan untuk mencabut izin akses kepada user
Sintaks : REVOKE privilages On Tbname FROM user
Contoh :
REVOKE INSERT, UPDATE, DELETE, ON CLUB FROM USER01
REVOKE ALL ON CLUB FROM PUBLIC
JENIS PERINTAH SQL
(menggunakanMYSQL)
Jenis Perintah SQL
• DDL (Data Definition Language)
? untuk membuat, mengubah dan menghapus basis data beserta table-tabelnya
contoh : CREATE, ALTER, DROP
• DML (Data Manipulation Language)
? untuk melihat, menambah, mengubah dan menghapus isi table.
contoh : INSERT, DELETE, UPDATE
• DCL (Data Control Language )
? untuk mengatur sekuritas basis data seperti memberikan dan menghapus hak akses user ke basis data.
contoh : GRANT, REVOKE
(DDL) Data Definition Language
o Membuat basis data
? Membuat Basis Data
mysql> create database nama_database;
Contoh membuat basis data “dbkuliah”
mysql> create database dbkuliah;
? Setelah dibuat, basis data siap digunakan
mysql> use dbkuliah;
o Membuat Tabel & Strukturnya
? Membuat tabel
mysql>create table namatabel (field1 type1 (panjang-data1),field2 tipe2 (panjangdata2));
contoh :
mysql> create table tbldosen(NIP VARCHAR(9) PRIMARY KEY,nama VARCHAR(30),alamat VARCHAR(50));
? Melihat struktur tabel tsb
mysql> desc tbldosen;
o Mengubah Struktur Tabel
Menambah / mengubah struktur field yang telah dibuat digunakan perintah ALTER
? Menambah field
mysql> alter table nama-tabel add fieldbarux tipe-baru ;
Contoh pada tbldosen ditambahkan field tgllahir dengan tipe date
mysql> alter table tbldosen add tgllahir date;
? Menghapus field :
mysql> alter table tbldosen drop column tgllahir;
o Mengubah Struktur Tabel (lanjutan)
? Mengubah lebar field pada tabel
mysql> alter table namatabel modify fieldnya tipenya (panjangbaru);
Contoh mengubah panjang data untuk namadosen
mysql> alter table tbldosen modify nama varchar (50);
? Mengganti nama field
mysql> alter table nama_tabel change nama_fleld_lama nama_fleld_baru tipe_data;
o Mengubah Struktur Tabel (lanjutan)
Contoh mengganti nama field
mysql> alter table tbldosen change alamatdosen alamatkotadosen text;
? Mengganti Nama Tabel
mysql> alter table nama_tabel_ lama rename nama_tabel_baru;
Contoh mengganti nama tabel
mysql> alter table tbldosen rename tbliddosen;
o Menghapus Tabel
? Menghapus Tabel
mysql> drop table nama_tabel;
Contoh:
mysql> drop table tbliddosen;
o Menghapus Basis Data
Setelah tidak terpakai, basis data dapat dihapus
? Menghapus Basis Data
mysql> drop database nama_database;
Contoh:
mysql> drop database dbdosen;
o Membuat Index
• Index digunakan untuk mempercepat proses pencarian data dalam suatu tabel
• Index dapat dibuat untuk setiap kolom yang akan dijadikan kriteria untuk pencarian data shg pencarian data untuk kolom dapat lebih cepat.
? Membuat Index:
mysql> create index namaindex on namatabel (namakolom1,namakolom2,…);
Contoh membuat index pada tbldosen dengan kolom nip dan namadosen :
mysql> create index dosen on tbldosen(nip, namadosen);
o Menghapus Index
• Index dapat dihapus yg tidak akan menyebabkan terhapusnya tabel.
• Akibat penghapusan index, pencarian data pada kolom akan lebih lambat.
? Menghapus Index:
mysql> drop index namaindex on namatabel;
Contoh menghapus index pada tbldosen :
mysql> drop index dosen on tbldosen;
(DML) Data Manipulation Language
o Memasukkan Data
? Ada dua perintah untuk memasukkan data ke dalam table.
mysql > insert into nama_tabel values (isi_field_l, isi_field_2,…, isi_-field_n);
atau
mysql > insert into nama_tabel (nama-field_l, nama_ field 2,…, nama_field_n) values (isi-field_l, isi-field_2,…, isi_fleld_n);
• Isian data disertai dengan tanda petik di atas.
Contoh
mysql> insert into tbldosen values (’131651258’,’Titon Dutono’,’Semolowaru Indah N-30 Surabaya’);
mysql> insert into tbldosen (nip,namadosen,alamatdosen)
values (‘132309426’,’mera’,’jatiwarna indah blok T4’);
o Mengubah Data
Digunakan untuk mengupdate atau mengubah isi data dalam table data dalam table.
mysql> update namatabel set field1=nilai1,field2 =nilai2,…, where kondisi;
• Contoh :
update tbldosen set namadosen= ‘andi’,alamatdosen = ‘depok tengah’ where NIP = ‘131651258’;
o Menghapus Data
Menghapus baris/record data dalam table
mysql> delete from namatabel where kondisi;
Contoh :
delete from tbldosen where NIP =‘131651258’;
o Memilih dan Menampilkan Data
Menampilkan data :
SELECT nama_field 1, nama_field_2,…, nama_field_n
FROM nama_tabel
WHERE kondisi
ORDER BY nama_field ASC | DESC;
o Memilih dan Menampilkan Data (lanjutan)
Contoh : menampilkan NIP, nama, dan alamat dosen yang diurutkan berdasarkan urutan abjad nama (ascending) .
mysql> select NIP, namadosen, alamatdosen from tbldosen order by namadosen asc;
Atau
mysql> select * from tbldosen order by namadosen asc;
mysql> select NIP, namadosen,alamatdosen from tbldosen where alamatdosen =‘depok’;
o Memilih dan Menampilkan Data (lanjutan)
Contoh : menampilkan nim, nama dan alamat mail mhs yang mana nama mhs diawali huruf ‘A’ dan diurutkan nim menurun (descending) .
mysql>select nim_mhs,nama_mhs,email_mhs from tblmastermhs where nama_mhs like 'A%' order by nim_mhs desc;
o Menghapus Data
•Apabila terdapat kesalahan data atau data sudah tidak dipakai lagi, hapus dengan perintah DELETE.
•Sintaksnya:
mysql> delete from nama tabel where kondisi;
• Contoh :
delete from tbldosen where namadosen = ‘wiwid’;
(DCL) Data Control Language
• DCL digunakan sebagai alat kontrol keamanan terhadap basis data dan tabelnya.
• Dua perintah utama di dalam DCL adalah GRANT dan REVOKE.
• GRANT digunakan untuk mengijinkan user mengakses tabel dalam basis data tertentu, sedangkan REVOKE sebaliknya.
• REVOKE digunakan untuk mencabut kembali ijin yang sudah pernah diberikan sebelumnya oleh GRANT.
Script-Script Tambahan
Perintah Show
• Perintah Show digunakan u/ menampilkan info basis data.
- Informasi basis data
mysql> show databases;
- Informasi tabel, yang sebelumnya pastikan memilih basis data yang akan dilihat tabelnya dengan perintah use
mysql> use nama_database;
mysql> show tables;
Perintah Show (lanjutan)
• Perintah Show digunakan u/ menampilkan info basis data.
- Informasi tabel basis data
mysql> show create table nama_tabel;
Perintah Query
• PerintahQuery merupakan suatu proses yg digunakan u/ melakukan penyajian data dari basis data dg kondisi tertentu.
- Kondisi dinyatakan
where nama_field like suatu_nilai
• Contoh penggunaan :
mysql> select nama,alamat,email from tblbukualamat where nama like ‘A%’;
ENTITY RELATIONSHIP DIAGRAM
HAL YANG BERKAITAN
• Model Data
kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) dari data dan keterhubungannya dengan data.
• Perancangan Basis Data
1. Scratching (Langsung dari awal)
kelangkaan data/fakta yang dimiliki
2. Preliminary Design (Bentuk diagram awal)
mudah di evaluasi/analisis u/ diperbaiki agar mendapatkan model data yang lebih permanen dan lebih mendekati kenyataan sesungguhnya.
• Fakta Dunia Nyata “Real World”
bukan berarti dunia dan segala isinya, tapi lebih bermakna sempit yang merujuk pada semesta (keseluruhan) data yang belum terstruktur yang secara nyata ada/terkait dalam sebuah lingkup topik yang ditinjau.
Contoh : Perbankan >< Perkuliahan
Contoh ffakta dunia nyata :
Perguruan Tinggi X :
- Mahasiswa
- Dosen
- Kurikullum
- Ruang Kuliah
- Penilaian
- Ujian
- Praktikum
MODEL KETERHUBUNGAN ENTITAS (Model E-R)
Model E-R didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantara objek-objek tersebut.
Komponen2 Pembentuk E-R Model
1. Entitas (Entity) dan Himpunan Entitas (Entitas Set).
2. Atribut (Attributes/properties)
3. Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
4. Kardinalitas (Cardinality)
1.. Entitas (Entity) dan Himpunan Entitas (Entitas Set)
- Merupakan barang/obyek yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan
dari sesuatu yang lain.
Contoh :
Individu : Pegawai, Pelanggan, Mahasiswa, Distributor
Tempat : Ruang,Bangunan, Lapangan, Kampus
Obyek : Buku, Motor, Paket Software, Produk
Peristiwa : Pendaftaran, Pemesanan, Penagihan
Konsep : Rekening, Kualifikasi
2. Atribut (Attributes/properties)
3. Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
4. Kardinalitas
Kardinalitas relasi
Definisi
- angka yang menunjukan banyaknya kemunculan suatu obyek terkait dengan kemunculan obyek lain pada suatu relasi
- kombinasi yang mungkin : (1:1, 1:N, M:N)
KARDINALITAS PEMETAAN
1. Hubungan satu ke satu (one to one).
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B.
2. Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3. Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
4. Hubungan banyak k banyak (many to many).
Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu entity dalam B dihubungkan dengan sejumlah entity dalam A.
Pemodelan data yang baik
- Sederhana
- Tidak ada duplikasi data (redundant)
- Fleksibel dan mudah beradaptasi dengan perkembangan
Contoh pemodelan data
Representasi tabular
Entity Relationship Diagram (ERD)
ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relatif kompleks. Dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. Dan dengan ERD kita mencoba menjawab pertanyaan seperti; data apa yang kita perlukan? bagaimana data yang satu berhubungan dengan yang lain?
Komponen E-R Diagram
1. Persegi panjang (rectangles)
merepresentasikan entity sets
2.. Elip (ellipses)
merepresentasiikan atriibut entity
3.. Wajik(diamonds)
merepresentasiikan rellatiionshiip sets
4.. Liines (garis)
merepresentasiikan hubungan atriibut ke entiity sets & entity sets kerelatioship sets
TAHAPAN PEMBUATAN DIAGRAM E-R
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat.
2. Menentukan atribut2 key dari masing2 himpunan entitas.
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitashimpunan entitas yang ada beserta foreign-key nya
4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut2 deskriptif (non-key)
6. Kamus Data - Struktur Data
Jumat, 07 Mei 2010
Langganan:
Posting Komentar (Atom)
How to watch the Sega Master System video with a TV - Videodl.cc
BalasHapusThe Sega Master youtube converter System is the most advanced video game console ever manufactured, and as the third game console of the 16-bit era it