Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL

Presentasi serupa


Presentasi berjudul: "Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL"— Transcript presentasi:

1 Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL
Sistem Basis Data Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL AER – 2015/2016 Universitas Pembangunan Jaya – SIF

2 Universitas Pembangunan Jaya – SIF
Tujuan Pertemuan Mahasiswa akan mampu menjelaskan bahasa yang digunakan di dalam DBMS . Mahasiswa akan mampu menjelaskan perbedaan model data berbasis konseptual dan berbasis fisik . Mahasiswa memahami relational model database beserta komponennya Mahasiswa akan mampu membuat skema database (DDL) dengan bahasa query (SQL) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

3 Universitas Pembangunan Jaya – SIF
Data Model Data model: sekumpulan konsep yang dapat digunakan untuk mendeskripsikan struktur dari suatu database. (referensi: Elmasri and Navathe, Fundamentals of Database Systems 6th Ed, Addison Wesley, 2010.) Seperti yang sudah dibahas pada pertemuan 1, bahwa data model diantaranya adalah; Relational Model, The Entity-Relationship Model, Object-Based Data Model, Semistructured Data Model AER – 2015/2016 Universitas Pembangunan Jaya – SIF

4 What is a Data Model? (actually)
Representasi secara matematis dari data. contoh: relational model = tables; semistructured model = trees/graphs. Representasi dari Operasi pada data. Constraints (kendala/batasan-batasan) (referensi: Prof. Jennifer Widom Hand-out, stanford university.) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

5 Universitas Pembangunan Jaya – SIF
Relasi = Table Relation name (table name) Attributes, each attribute has type (or domain) (field or column headers) tblMhs Tuples (rows) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

6 Universitas Pembangunan Jaya – SIF
Schemas Relation schema = nama relasi dan daftar attribute-nya (Optionally: disertai types dari attributes). Contoh: tblMhs(nim, nama, jurusan) atau tblMhs(nim: string, nama: string, jurusan: string) Database = kumpulan relasi. Database schema = Deskripsi terstruktur dari suatu relasi dalam database Instance = actual content of a table at given point in time AER – 2015/2016 Universitas Pembangunan Jaya – SIF

7 Database = kumpulan relasi
Database schema = set of all Relation schema inside database. Database schema = kumpulan lengkap skema relasi di dalam database. Database Akademik Database Akademik Tabel Mahasiswa tblMhs(nim: string, nama: string, jurusan: string) Tabel Mata Kuliah tblJurusan(kd_jur:string, nm_jur:string, kd_fak:string, akreditasi:string) Tabel Jurusan tblMk(kodeMK:string, namaMK:string, sks:number) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

8 Mengapa menggunakan Relasi
Model yang sangat simple & Implementasi yang Efisien. Banyak digunakan oleh sistem database komersial. Representasi relasi sangat memudahkan kita dalam memahami data. Model abstract yg mendasari SQL (bahasa database yg paling penting saat ini). Query (ask question of database) dengan high level language  simple & ekspresif AER – 2015/2016 Universitas Pembangunan Jaya – SIF

9 Universitas Pembangunan Jaya – SIF
Contoh Relasi Contoh constraint: Mahasiswa(nim, nama, thnMasuk) Kelas(nid, kdmk) MataKuliah(kdMk, namaMk, sks) Nilai(nim, kdMk, grade) Underline = key (tuples/rows/baris-baris tidak boleh memiliki memiliki nilai yang sama pada semua atribut key). Kelas Nid kdmk dsn001 IST101 dsn002 IST102 dsn003 IST103 AER – 2015/2016 Universitas Pembangunan Jaya – SIF

10 Database Schemas in SQL
Keutamaan penggunaan dari SQL adalah bahasa query (bagian dari DML), untuk mendapatkan informasi dari suatu database. Tapi pada SQL juga disertakan suatu komponen data-definition (DDL) untuk mendeskripsikan skema database AER – 2015/2016 Universitas Pembangunan Jaya – SIF

11 SQL – Definisi untuk Database (CREATE DATABASE dan DROP DATABASE)
CREATE DATABASE <nama database> ; DROP DATABASE <nama database> ; Contoh: CREATE DATABASE latihan; Perintah pada contoh di atas akan menghasilkan database dengan nama latihan. DROP DATABASE latihan; Perintah pada contoh di atas akan menghapus database dengan nama latihan. AER – 2015/2016 Universitas Pembangunan Jaya – SIF

12 SQL – Definisi untuk Table (CREATE TABLE dan DROP TABLE)
CREATE TABLE <nama_tabel> (<nama_kolom> <tipe_kolom> [atribut_kolom] , … … … , [definisi_key] (<nama_kolom>) ); <tipe_kolom> , Merupakan tipe dari data yang akan diisikan pada kolom. [atribut_kolom] , NOT NULL : isi kolom ini tidak boleh NULL (atau tidak diisi). AUTO_INCREMENT : kolom ini berisi angka yang merupakan penambahan dari angka record sebelumnya, dan penambahan ini otomatis dilakukan oleh MySQL. [definisi_key] , PRIMARY KEY : digunakan untuk mendefinisikan suatu kolom sebagai primary key. Kita bisa mendefinisikan lebih dari satu kolom sebagai primary key (dengan menggunakan koma sebagai pemisah kolom). DROP TABLE <nama table> ; Perintah di atas untuk menghapus table. Contoh: DROP TABLE Mahasiswa CREATE TABLE <nama_tabel> (<nama_kolom> <tipe_kolom> [atribut_kolom], … … … , [definisi_key] (<nama_kolom>) ); AER – 2015/2016 Universitas Pembangunan Jaya – SIF

13 SQL – Definisi untuk Table
Contoh: CREATE TABLE Mahasiswa ( nim char(10) NOT NULL, nama varchar(100) NOT NULL, thnMasuk year, PRIMARY KEY (nim) ); Mahasiswa(nim, nama, thnMasuk) Tipe_kolom yang umum adalah: INT  angka bilangan bulat atau INTEGER. DOUBLE  angka dengan desimal. CHAR(n )  fixed-length string of n characters. VARCHAR(n )  variable-length string of up to n characters. DATE  tipe tanggal. YEAR  tipe tahun. AER – 2015/2016 Universitas Pembangunan Jaya – SIF

14 Universitas Pembangunan Jaya – SIF
SQL – Nilai pada SQL Tipe Kolom Angka: Angka bilangan bulat TINYINT  -128 sampai 127 SMALLINT  -32,768 sampai 32,767 MEDIUMINT  -8,388,608 sampai 8,388,607 INT  -2,147,483,648 sampai 2,147,483,647 BIGINT  -9,223,372,036,854,775,808 sampai 9,223,372,036,854,775,807 AER – 2015/2016 Universitas Pembangunan Jaya – SIF

15 Universitas Pembangunan Jaya – SIF
SQL – Nilai pada SQL Tipe Kolom Angka: Angka dengan desimal DECIMAL  angka dengan desimal Contoh penulisan: lebar DECIMAL(5, 2) Artinya: Kolom lebar akan menyimpan nilai angka desimal dengan format nnn.nn (misal: ) DOUBLE  angka bilangan real. AER – 2015/2016 Universitas Pembangunan Jaya – SIF

16 Universitas Pembangunan Jaya – SIF
SQL – Nilai pada SQL Tipe Kolom String: CHAR(n )  menyimpan teks dengan jumlah karakter tetap sebanyak n karakter. VARCHAR(n )  menyimpan teks dengan jumlah karakter yang bervariasi sampai paling banyak n karakter. Contoh penulisan: id char(5) kode varchar(5) Artinya: id akan menyimpan nilai berupa string sebanyak 5 karakter. kode akan menyimpan nilai berupa string dengan maksimum 5 karakter Perbedaan char(n) dengan varchar(n): Jika id diisi dengan nilai ‘123’ maka akan tersimpan string ‘123 ‘ (terdapat 2 space kosong di akhir string) Jika kode diisi dengan nilai ‘123’ maka akan tersimpan string ‘123’ AER – 2015/2016 Universitas Pembangunan Jaya – SIF

17 Universitas Pembangunan Jaya – SIF
SQL – Nilai pada SQL Tipe Kolom tanggal: DATE  tipe tanggal Penjelasan: Jika kolom dengan tipe DATE ini akan diisi nilai, maka format penulisannya adalah: yyyy-mm-dd (contoh: ). YEAR  tipe tahun Jika kolom dengan tipe YEAR ini akan diisi nilai, maka format penulisannya adalah: yyyy (contoh: 2016) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

18 Universitas Pembangunan Jaya – SIF
SQL – Nilai pada SQL Tipe Kolom waktu: TIME  tipe waktu Penjelasan: Jika kolom dengan tipe TIME ini akan diisi nilai, maka format penulisannya adalah: hh:mm:ss (contoh: 15:30:02). AER – 2015/2016 Universitas Pembangunan Jaya – SIF

19 Universitas Pembangunan Jaya – SIF
SQL – Deklarasi Keys Key merupakan atribut atau sekumpulan atribut dimana nilainya adalah unik (tidak boleh sama), dalam tiap tuple atau sekumpulan attribute dimana kombinasi nilainya unik Suatu atribut atau sekumpulan atribut boleh dideklarasikan PRIMARY KEY or UNIQUE. MataKuliah Nilai kdMk namaMk sks SIF102 Struktur Data 4 SIF204 Analisis Proses Bisnis 3 IST102 Sistem Basis Data nim kdMk grade SIF102 C SIF204 A B IST102 Kegunaan key biasanya untuk memudahkan pencarian data, yang sesuai dengan patokan Key tersebut. Selain itu pencarian pada table dengan mengacu pada key prosesnya lebih cepat, karena Key biasanya di index dalam database, sehingga pencarian dengan key akan lebih cepat. AER – 2015/2016 Universitas Pembangunan Jaya – SIF

20 SQL – Deklarasi Keys – Single Attribute Key
Tuliskan PRIMARY KEY atau UNIQUE setelah tipe atribut (kolom) pada deklarasi membuat tabel. Contoh: CREATE TABLE Mahasiswa ( nim char(10) NOT NULL UNIQUE, nama varchar(100) NOT NULL, thnMasuk year, ); nim char(10) NOT NULL PRIMARY KEY, thnMasuk year nim char(10) NOT NULL, PRIMARY KEY (nim) nim nama thnMasuk AER – 2015/2016 Universitas Pembangunan Jaya – SIF

21 SQL – Deklarasi Keys – Multi Attribute Keys
Deklarasi Key dapat juga dilakukan terhadap sekumpulan atribut pada tabel Hal ini dilakukan jika memang tabel memerlukan key multi-atribut (lebih dari satu atribut. Contoh: CREATE TABLE Nilai( nim char(10) NOT NULL, kdMk char(6) NOT NULL, grade char(1), PRIMARY KEY (nim, kdMk) ); nim kdMK grade Mahasiswa(nim, nama, thnMasuk) Kelas(nid, kdmk) MataKuliah(kdMk, namaMk, sks) Nilai(nim, kdMk, grade) AER – 2015/2016 Universitas Pembangunan Jaya – SIF

22 SQL – PRIMARY KEY vs. UNIQUE
Hanya boleh satu PRIMARY KEY untuk satu tabel, tapi bisa boleh banyak UNIQUE untuk satu tabel. Atribut suatu PRIMARY KEY tidak boleh berisi nilai NULL dalam satu tuple/row/baris nilai, tapi atribut suatu unique boleh bernilai null. AER – 2015/2016 Universitas Pembangunan Jaya – SIF

23 SQL – Modifikasi Table (ALTER TABLE)
Modifikasi untuk enambah kolom/field pada tabel: ALTER TABLE <nama_tabel> ADD <nama_kolom> <tipe_kolom> Modifikasi untuk menghapus kolom/field pada tabel: ALTER TABLE <nama_tabel> DROP COLUMN <nama_kolom> Modifikasi untuk merubah tipe kolom pada tabel: ALTER TABLE <nama_tabel> MODIFY COLUMN <nama_kolom> <tipe_kolom> AER – 2015/2016 Universitas Pembangunan Jaya – SIF

24 Universitas Pembangunan Jaya – SIF
See You Next Session Thank’s AER – 2015/2016 Universitas Pembangunan Jaya – SIF

25 Universitas Pembangunan Jaya – SIF
tugas Buat suatu database dengan ketentuan: nama bebas, minimal berisi 3 table, diantara 3 table itu minimal terdapat 1 table dengan multiattribute key. Buat skema relasinya (relation schema) kemudian buat SQL (Query Language) untuk membuat database (skema database) tersebut. Masing-masing harus membuat database yang berbeda. AER – 2015/2016 Universitas Pembangunan Jaya – SIF


Download ppt "Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL"

Presentasi serupa


Iklan oleh Google