DDL & Aturan Referential

Slides:



Advertisements
Presentasi serupa
SQL  SQL adalah bahasa query baku untuk DBMS  SQL diambil sebagai bakuan sejak tahun 1992  Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix,
Advertisements

SQL – DML.
Sejarah (1) • Tahun 1974, Dr. Chamberlin dari Saan Jose Laboratorium IBM mendefinisikan sebuah bahasa untuk mengakses database yang disebut dengan SEQUEL.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
Pertemuan 2 : Dasar-dasar SQL SBD C – Senin, Frank & Rudy
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
PERINTAH SQL.
MYSQL.
DDL(DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE)
DDL & Aturan Referential
PEMETAAN – RELATIONAL - SQL
PEMROGRAMAN BASIS DATA
Sistem Basis Data DANNY KRIESTANTO, S.KOM., M.ENG.
Manajemen Basis Data menggunakan SQL Server
Basis Data Bab 3 Structured Query Language (SQL).
MODUL 2 BAHASA BASIS DATA
Praktek Pemograman Client-Server
TRIGGER.
1 Bab 3 Structured Query Language (SQL) Basis Data
Microsoft SQL Server DDL dan DML dasar
Data Definition Language dan Data Manipulation Language
Review DDL Pertemuan ke 2.
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
SQL (Structure Query Language)
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
DATA DEFINITION LANGUAGE
SQL Pertemuan
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
DDL (DATA DEFINITION LANGUAGE) DALAM SQL
SQL Basis Data.
Data Definition Language (DDL)
Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL
Outline: Relational Data Model Entity Relationship Diagram
Pertemuan after UTS Structure Query Language (SQL)
PEMASARAN BERBASIS WEB
Integritas Basis Data D. Sinaga, M.Kom.
Integritas basis data.
SQL.
Matakuliah Desain Basis Data Oleh Aziz Musthafa, S.Kom
MODEL RELASIONAL.
SQL: DDL Basis Data 09.
Bahasa query terpan.
Konsep Teknologi Informasi B
VII. DDL Di sajikan untuk Lingkungan TASS Dosen : Tora Fahrudin., M.T
Review Database Materi 1
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
Konsep Teknologi Informasi B
Sistem Basis Data ABU SALAM, M.KOM.
DDL (Data definition language)
SQL pada basis data client-server
SQL Basis Data.
SQL OVERVIEW.
Created By Amir Ali,S.Kom.,M.Kom
OLEH : Slamet Sn Wibowo Wicaksono
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
DDL (DATA DEFINITION LANGUAGE) DALAM SQL
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Tipe data dalam SQL Server
SQL.
Basis Data Bab 3 Structured Query Language (SQL).
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
Integritas basis data.
CREATE, MODIFY, & DELETE TABLE
Bahasa basis data Safitri Jaya, S.Kom, M.T.I.
MODEL RELASIONAL.
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

DDL & Aturan Referential Basis Data DDL & Aturan Referential

Tipe Data Untuk setiap kolom/field yang terdapat pada sebuah tabel, harus ditentukan pula tipe datanya yang menentukan jangkauan nilai yang bisa diisikan Masing-masing DBMS memiliki jenis dan nama tipe data tersendiri. Bisa jadi ada yang khusus (tidak ada pada yang lain), atau diberi dengan nama lain, atau bahkan tidak memiliki tipe data yang standar

Tipe Data Beberapa Tipe data yang standar SQL-92 adalah: Binary Binary varying Character() Character varying() Datetime Double precision Float Integer Numeric Dsb

DDL Data Definition Language (DDL) berkaitan dengan perintah-perintah untuk pendefinisian obyek-obyek basis data. Diantaranya adalah untuk: Pembuatan tabel Pembuatan View Pembuatan Trigger

DDL Untuk Tabel (1) Pembuatan tabel, syntax: [aturann] berisi aturan untuk field ybs, bersifat opsional. Biasanya berupa: NOT NULL  artinya field tersebut harus ada isinya DEFAULT <nilai>  artinya field tersebut jika tidak diisi nilainya, maka nilai defaultnya adalan <nilai>

DDL Untuk Tabel (2) [aturanTabel] berisi aturan-aturan yang berlaku untuk tabel tersebut. Jika aturan lebih dari satu, maka dibatasi oleh tanda koma. Aturan tabel biasanya: primary key (<DaftarKolomKey>) foreign key (<daftarKolomForeignKey>) references <namaTabel> (<daftarKolom>) [ON DELETE <aturanDelete>] [ON UPDATE <aturanUpdate>]) [AturanTabel] bisa diberi nama. Jika diberi nama, maka syntaxnya sbb: CONSTRAINT <namaAturan> <AturanTabel>

DDL Untuk Tabel (2) Contoh Pembuatan tabel Mahasiswa dan set nrp menjadi primary key, nilai default pada jeniskel=”L”, nipdosen mereferensi ke tabel dosen field nip

DDL Untuk Tabel (3) Modifikasi tabel: Menghapus tabel, syntax: DROP TABLE <namaTabel> Modifikasi tabel: 1. Menambahkan kolom baru: ALTER TABLE <namaTabel> add <namakolom> <tipedata> <aturan> 2. Menghapus kolom: ALTER TABLE <namaTabel> drop <namakolom>

DDL Untuk View (1) View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database Syntax: CREATE VIEW <namaTabel> AS <SQLQuery>

DDL Untuk View (2) Membuat View dengan nama MahasiswaPria: Contoh View CREATE VIEW MahasiswaPria AS SELECT * FROM Mahasiswa WHERE jeniskel=”L”

DDL Untuk TRIGGER (1) Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel Proses modifikasi berupa: Insert, Update dan delete Syntax: CREATE TRIGGER <namaTrigger> ON TABLE <namaTabel> FOR [DELETE] [,] [INSERT] [,] [UPDATE] AS <perintahSQL>

DDL Untuk TRIGGER (2) Contoh Trigger Membuat trigger dg nama tLogUbahNilai untuk setiap penambahan / update data pada tabel Pesertakul, dilakukan penambahan data pada tabel LogHistoris Trigger CREATE TRIGGER tLogUbahNilai ON TABLE pesertakul FOR UPDATE, INSERT AS INSERT INTO LogHistoris (tanggal, proses) VALUES (getDate(), ‘Terjadi proses perubahan data nilai’)

Referential Integrity Constraint Aturan untuk Update  berlaku pada proses modifikasi di parent table Cascade  Pembaruan sebuah baris data diikuti dengan pembaruan baris data pada child table yang terelasikan. Restrict  mencegah proses pembaruan data jika terdapat baris data di child table yang terelasikan. Ignore  mengabaikan referensi. Boleh memperbarui data pada parent, tapi tidak memperbarui data yang berelasi pada child table.

Referential Integrity Constraint Aturan untuk Delete  berlaku pada proses modifikasi di parent table Cascade  Menghapus seluruh baris data pada child table yg terelasikan. Restrict  mencegah penghapusan jika terdapat baris data yang berelasi pada child table. Ignore  mengabaikan referensi. Boleh menghapus data, dan tidak ada efeknya bagi child table.

Referential Integrity Constraint Aturan untuk Insert Restrict  Tidak boleh menambah data pada child table, jika nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabelnya. Ignore  mengabaikan referensi. Boleh menambah data pada child, walaupun nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabel.

Referential Integrity Constraint Contoh CREATE TABLE Mahasiswa (nrp CHAR(10), nama CHAR(20), nip CHAR(10) PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES Dosen ON DELETE CASCADE ON UPDATE CASCADE )

Primary Constraint Sebuah kumpulan field bisa menjadi sebuah key untuk suatu relasi jika: Tidak ada dua baris data yang mempunyai nilai sama pada semua field key Jika ada lebih dari 1 key untuk relasi,maka satu dari key tersebut dipilih ( oleh DBA ) menjadi sebuah primary key Contoh:sid adalah key untuk students(bagaimana dgn nama?), sedangkan set{sid,gpa} adalah superkey

Foreign Keys, Referential Integrity Foreign key :Sebuah kumpulan field dalam satu relasi yang digunakan untuk me “refer”(menunjuk )ke suatu baris (tuple) pada relasi yang lain(harus berkorespondensi dengan primary key pada relasi yang kedua),seperti:`logical pointer’. Contoh: sid is a foreign key referring to Students: Enrolled(sid: string, cid: string, grade: string) Foreign key harus mempunyai tipe data yang sama dengan primary key yang di “refer” sedangkan untuk nama kolomnya bisa beda

Contoh penerapan foreign key sid Name login age Gpa 50000 Dave dave@cs 19 3.3 53666 Jones jones@cs 18 3.4 53688 Smith smith@ee 3.2 53650 smith@math 3.8 53831 Madayan madayan@music 11 1.8 53832 Guldu guldu@music 12 2.0 cid grade studid Carnatic101 C 53831 Reggae203 B 53832 Topology112 A 53650 History105 53666 Enrolled(Referencing relation) student(Referenced relation)

Foreign Keys in SQL Hanya student yang tertulis pada tabel Students relation yang diperbolehkans untuk mendaftarkan diri pada suatu mata kuliah CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(2),PRIMARY KEY (sid,cid),FOREIGN KEY (sid) REFERENCES Students )

Enforcing Referential Integrity Dengan mengacu pada tabel student dan Enrolled :sid pada Enrolled sebagai suatu foreign key yang mengacu pada student. Apa yang harus dilakukan jika sebuah baris pada tabel Enrolled dengan student id yang tidak terdaftar pada tabel student dimasukkan?(Ditolak!) Apa yang seharusnya dilakukan jika suatu baris student dihapus? - Hapus semua baris pada Enrolled yang mengacu padanya - Tidak memperbolehkan penghapusan pada tabel student yang asih diacu oleh Enrolled - Set sid pada baris Enrolled yang mengacu pada baris Student yang dihapus ke default SID Hampir sama jika primary key dari student diudate

Referential Integrity in SQL Berdasarkan SQL/92 and SQL:1999 Ada 4 pilihan dalam melakukan update atau delete: Default is NO ACTION (delete/update is rejected) CASCADE (also delete all tuples that refer to deleted tuple) SET NULL / SET DEFAULT(sets foreign key value of referencing tuple) CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid,cid), FOREIGN KEY (sid) REFERENCES Students ON DELETE CASCADE ON UPDATE SET DEFAULT )

Menterjemahkan diagram ER dengan key constraint (2)

Referential Integrity Constraint digunakan untuk menjaga konsistensi baris-baris data antara dua buah tabel Pada umumnya, aturan ini mengharuskan sebuah baris pada sebuah tabel yang terelasikan pada tabel lain harus mengacu pada sebuah baris di dalam tabel tersebut Aturan untuk Referential Integrity biasanya diperlakukan untuk andaikata terjadi proses modifikasi data