Anda di halaman 1dari 16

LECTURE NOTES

ISYS6508
Database System

Week 5

SQL: Data Definition

ISYS6508 – Database System


LEARNING OUTCOMES

LO3: Construct SQL that suit with the problem

OUTLINE MATERI (Sub-Topic):

1. Introduction to SQL

2. Writing SQL Command

3. Data Definition

ISYS6508 – Database System


ISI MATERI

Introduction to SQL
Bahasa tertentu yang muncul dari pengembangan model relasional adalah Structured
Query Language, atau yang biasa disebut SQL. Selama beberapa tahun terakhir, SQL telah
menjadi bahasa database relasional standar. Pada tahun 1986, SQL Standard didefinisikan
oleh American National Standards Institute (ANSI) dan kemudian diadopsi pada tahun 1987
sebagai standar internasional oleh International Organization for Standardization (ISO, 1987).
Saat ini lebih dari seratus DBMSs didukung oleh SQL, yang berjalan di berbagai platform
perangkat keras dari PC hingga mainframe.
Bahasa di dalam basis data idealnya harus memungkinkan pengguna untuk:
 Membuat database dan struktur database relasional.
 Melakukan tugas-tugas dasar dari manajemen data, seperti insert, update, dan delete
data.
 Melakukan query sederhana hingga query kompleks.

Bahasa di dalam database harus melakukan tugas-tugas tersebut dengan upaya


minimal dari pengguna, dan struktur dan sintaks perintahnya harus relatif mudah dipelajari.
maka, bahasanya harus portabel dan harus sesuai dengan beberapa standar yang diakui
sehingga kita dapat menggunakan struktur perintah dan sintaks yang sama ketika kita
berpindah dari satu DBMS ke yang lain. SQL dimaksudkan untuk memenuhi persyaratan
tersebut.
SQL adalah contoh bahasa transformasi-berorientasi, atau bahasa yang dirancang
dengan menggunakan relasi untuk mengubah input menjadi output yang dibutuhkan. Sebagai
bahasa standar ISO SQL memiliki dua komponen utama:
 Data Definition Language (DDL) untuk mendefinisikan struktur database dan
mengontrol akses ke data.
 Data Manipulation Language (DML) untuk mengambil dan memperbarui data.
SQL adalah bahasa yang relatif mudah dipelajari:

ISYS6508 – Database System


 SQL adalah bahasa nonprocedural; Anda dapat menentukan informasi apa yang Anda
butuhkan, bukan bagaimana mendapatkannya. Dengan kata lain, SQL tidak
mengharuskan Anda untuk menentukan metode akses ke data.
 Seperti kebanyakan bahasa modern, SQL pada dasarnya memiliki format bebas, yang
berarti bahwa bagian dari pernyataan tidak harus diketik pada lokasi tertentu dari
layar monitor anda.
 Struktur perintah terdiri dari kata-kata bahasa Inggris standar seperti CREATE
TABLE, INSERT, SELECT.
 SQL dapat digunakan oleh berbagai pengguna termasuk database administrator
(DBA), manajemen personal, developer aplikasi, dan banyak pengguna akhir lainnya.

Sejarah model relasional (SQL secara tidak langsung) dimulai dengan publikasi
makalah seminar oleh E. F. Codd, yang ditulis selama bekerja di Laboratorium Penelitian
IBM di San José (Codd, 1970). Pada tahun 1974, D. Chamberlin, juga dari Laboratorium
IBM San José, mendefinisikan bahasa yang disebut Structured English Query Language, atau
SEQUEL. Kemudian direvisi menjadi SEQUEL / 2, yang didefinisikan pada tahun 1976,
tetapi nama SEQUEL kemudian diubah menjadi SQL karena alasan hukum (Chamberlin dan
Boyce, 1974; Chamberlin et al., 1976). Hari ini, banyak orang masih mengucapkan SQL
sebagai "See-Quel," meskipun pelafalan resmi adalah "S-Q-L."
IBM menghasilkan prototipe DBMS berdasarkan SEQUEL / 2 yang disebut System R
(Astrahan et al., 1976). Tujuan prototipe ini adalah untuk memvalidasi kelayakan model
relasional. Salah satu hasil terpenting lainnya yang dikaitkan dengan proyek SEQUEL / 2
adalah pengembangan SQL. Namun, akar SQL dalam bahasa SQUARE (Specifying Queries
As Relational Expressions), yang lebih dahulu dari proyek Sistem R. SQUARE dirancang
sebagai bahasa penelitian untuk menerapkan aljabar relasional dengan kalimat dalam bahasa
Inggris (Boyce et al., 1975).
Pada tahun 1989, ISO menerbitkan sebuah adendum yang mendefinisikan "Fitur
Peningkatan Integritas" (ISO, 1989). Pada tahun 1992, revisi besar pertama terhadap standar
ISO terjadi, kadang disebut sebagai SQL2 atau SQL-92 (ISO, 1992). Meskipun beberapa fitur
telah didefinisikan dalam standar untuk pertama kalinya, banyak dari fitur ini telah
diimplementasikan sebagian atau dalam bentuk serupa dalam satu atau lebih dari banyak

ISYS6508 – Database System


implementasi SQL. Itu tidak sampai 1999 bahwa rilis standar berikutnya, biasa disebut
sebagai SQL: 1999 (ISO, 1999a), telah diformalkan. Rilis ini berisi fitur tambahan untuk
mendukung manajemen data berorientasi objek. Ada rilis lebih lanjut dari standar pada akhir
2003 (SQL: 2003), di musim panas 2008 (SQL: 2008), dan pada akhir 2011 (SQL: 2011).
Fitur standar yang disediakan di atas oleh vendor disebut ekstensi. Sebagai contoh,
standar menetapkan enam tipe data, berbeda untuk data dalam database SQL. Banyak
penerapan untuk melengkapi daftar ini dengan berbagai ekstensi. Setiap implementasi SQL
disebut dialek. Tidak ada dua dialek yang persis sama, dan saat ini tidak ada dialek yang
sama persis dengan standar ISO. Selain itu, karena vendor database memperkenalkan
fungsionalitas baru, mereka memperluas dialek SQL mereka dan memperluasnya lebih jauh.
Namun, inti inti dari bahasa SQL menunjukkan tanda untuk menjadi lebih standar. Bahkan,
SQL sekarang memiliki seperangkat fitur yang disebut Core SQL, yang harus diterapkan
vendor untuk mengklaim kesesuaian dengan standar SQL. Banyak fitur yang tersisa untuk
dibagi menjadi paket; misalnya, ada paket untuk fitur objek dan OLAP (OnLine Analytical
Processing).
SQL adalah yang pertama dan, sejauh ini, hanya bahasa database standar untuk
mendapatkan penerimaan yang luas. Satu-satunya bahasa database standar lainnya, Network
Database Language (NDL), berdasarkan model jaringan CODASYL, memiliki sedikit
pengikut. Hampir setiap vendor besar saat ini menyediakan produk basis data berdasarkan
SQL atau dengan antarmuka SQL, dan sebagian besar diwakili pada setidaknya satu dari
badan pembuat standar. Ada investasi besar dalam bahasa SQL baik oleh vendor maupun
oleh pengguna. Ini telah menjadi bagian dari arsitektur aplikasi seperti Sistem Aplikasi
Arsitektur IBM (SAA) dan merupakan pilihan strategis banyak organisasi besar dan
berpengaruh, misalnya, konsorsium Grup Terbuka untuk standar UNIX. SQL juga menjadi
Standar Pemrosesan Informasi Federal (FIPS) yang kesesuaiannya diperlukan untuk semua
penjualan DBMS ke pemerintah AS. Grup Akses SQL, konsorsium vendor, menetapkan
serangkaian peningkatan ke SQL yang akan mendukung interoperabilitas di berbagai sistem.
SQL digunakan dalam standar lain dan bahkan mempengaruhi pengembangan
standar lain sebagai alat definisi. Contohnya tISO’s Information Resource Dictionary System
(IRDS) dan Remote Data Access (RDA). Perkembangan bahasa didukung oleh kepentingan
akademis yang besar, memberikan dasar teoritis untuk bahasa dan teknik yang diperlukan

ISYS6508 – Database System


untuk menerapkannya dengan sukses.Terutama berlaku dalam pengoptimalan queri, distribusi
data, dan keamanan. Sekarang ada implementasi khusus dari SQL yang diarahkan pada pasar
baru, seperti OnLine Analytical Processing (OLAP).

Writing SQL Commands


Pada bagian ini kami secara singkat menggambarkan struktur pernyataan SQL dan
notasi yang kami gunakan untuk menentukan format berbagai susunan SQL. Pernyataan SQL
terdiri dari kata-kata yang dipesan dan kata-kata yang ditentukan pengguna. Kata-kata yang
telah ditetapkan sebagai bagian dari bahasa SQL dan memiliki makna tetap. Mereka harus
ditulis dan dieja persis sebagaimana ketentuannya dan tidak dapat dipisah-pisahkan. Kata-
kata yang ditentukan pengguna dibuat oleh pengguna (sesuai dengan aturan sintaks tertentu)
dan mewakili nama berbagai objek basis data seperti tabel, kolom, tampilan, indeks, dsb.
Kata-kata dalam pernyataan juga dibangun sesuai dengan serangkaian aturan sintaks.
Meskipun tidak diperlukan standarisasi, banyak dialek SQL memerlukan penggunaan
terminator untuk menandai akhir dari setiap pernyataan SQL (biasanya digunakan titik koma
“;”).
Sebagian besar komponen dari pernyataan SQL bersifat case-insensitive, yang berarti
bahwa huruf dapat diketik dalam huruf besar atau kecil. Satu pengecualian penting untuk
aturan ini adalah bahwa data karakter literal harus diketik persis seperti yang muncul dalam
database. Misalnya, jika kami menyimpan nama keluarga sebagai "SMITH" dan kemudian
menelusurinya menggunakan string "Smith," baris itu tidak akan ditemukan.
Meskipun SQL adalah format-bebas, pernyataan atau rangkaian pernyataan SQL lebih
mudah dibaca, jika digunakan indentasi dan penggarisan. Sebagai contoh:
 setiap klausa dalam pernyataan harus dimulai pada baris baru.
 permulaan setiap klausa harus berbaris dengan permulaan klausul lainnya.
 jika klausa memiliki beberapa bagian, masing-masing harus muncul pada baris
terpisah dan diindentasi di bawah awal klausa untuk menunjukkan hubungan.

Sepanjang ini Bab berikutnya, kami menggunakan bentuk tambahan dari notasi
Backus Naur Form (BNF) untuk mendefinisikan pernyataan SQL:

ISYS6508 – Database System


 huruf besar digunakan untuk mewakili kata-kata yang dicadangkan dan harus dieja
persis seperti yang ditunjukkan.
 huruf kecil digunakan untuk mewakili kata yang ditentukan pengguna.
 bar vertikal (|) menunjukkan pilihan di antara alternatif; misalnya, a | b | c
 kurung kurawal menunjukkan elemen yang dibutuhkan; misalnya, {a}.
 tanda kurung siku menunjukkan elemen opsional; misalnya, [a].
 elipsis (...) digunakan untuk menunjukkan pengulangan opsional item nol atau
beberapa kali.

Data Definition
DDL SQL memungkinkan objek database seperti skema, domain, tabel, view, dan
indeks untuk dibuat dan dihancurkan. Di bagian ini, kami secara singkat memeriksa cara
membuat dan menghancurkan skema, tabel, dan indeks. Kami membahas cara membuat dan
menghancurkan view di bagian selanjutnya. Standar ISO juga memungkinkan pembuatan set
karakter, kolasi, dan translasi.
Pernyataan bahasa definisi data SQL utama adalah:
CREATE SCHEMA DROP SCHEMA
CREATE DOMAIN ALTER DOMAIN DROP DOMAIN
CREATE TABLE ALTER TABLE DROP TABLE
CREATE VIEW DROP VIEW
Meskipun tidak tercakup oleh standar SQL, 2 pernyataan berikut disediakan oleh
banyak DBMS
CREATE INDEX DROP INDEX

CREATING DATABASE
Menurut standar ISO, relasi dan objek basis data lainnya ada di lingkungan. Antara
lain, setiap lingkungan terdiri dari satu atau lebih katalog, dan setiap katalog terdiri dari satu
set skema. Skema adalah kumpulan objek database bernama yang dalam beberapa cara terkait
satu sama lain (semua objek dalam database dijelaskan dalam satu skema atau yang lain).
Objek dalam skema dapat berupa tabel, tampilan, domain, pernyataan, pengumpulan,

ISYS6508 – Database System


terjemahan, dan rangkaian karakter. Semua objek dalam skema memiliki pemilik yang sama
dan berbagi sejumlah default.
Mekanisme standar untuk membuat dan menghancurkan katalog sebagai
implementation-define, tetapi menyediakan mekanisme untuk membuat dan menghancurkan
skema. Pernyataan definisi skema memiliki bentuk (disederhanakan) berikut
CREATE SCHEMA [Name | AUTHORIZATION Creatorldentifier]
Oleh karena itu, jika pembuat skema SqlTests adalah Smith, maka pernyataan SQLnya adalah
CREATE SCHEMA SqlTests AUTHORIZATION Smith;
Standar ISO juga menunjukkan bahwa harus mungkin untuk menetapkan dalam pernyataan
ini berbagai fasilitas yang tersedia untuk pengguna skema, tetapi rincian tentang bagaimana
hak istimewa ini ditentukan tergantung pada implementasi yang terjadi.
Skema dapat dihancurkan menggunakan pernyataan DROP SCHEMA, yang
mengikuti bentuk sebagai berikut:
DROP SCHEMA Name [RESTRICT | CASCADE]
Jika RESTRICT ditentukan, yang merupakan default, maka jika tidak ada kualifikasi yang
ditentukan, skema harus kosong atau operasi gagal. Jika CASCADE ditetapkan, operasi akan
jatuh ke semua objek yang terkait dengan skema dalam urutan yang ditentukan sebelumnya.
Jika salah satu dari operasi drop ini gagal, DROP SCHEMA gagal. Efek total dari DROP
SCHEMA dengan CASCADE bisa sangat luas dan harus dilakukan hanya dengan sangat
hati-hati.

CREATING TABLE
Setelah membuat struktur basis data, kita sekarang dapat membuat struktur tabel
untuk relasi dasar yang akan disimpan dalam basis data. Hal dicapai dengan menggunakan
pernyataan CREATE TABLE, yang memiliki sintaks dasar berikut:
CREATE TABLE TableName
{(columName dataType [NOT NULL] [UNIQUE]
[DEFAULT defaultOption] [CHECK (searchCondition)] [, . . .]}
[PRIMARY KEY (listOfColumns),]
{[UNIQUE (listOfColumns)] [, . . .]}
{[FOREIGN KEY (listOfForeignKeyColumns)

ISYS6508 – Database System


REFERENCES ParentTableName [(listOfCandidateKeyColumns)]
[MATCH {PARTIAL | FULL}
[ON UPDATE referentialAction]
[ON DELETE referentialAction]] [, . . .]}
{[CHECK (searchCondition)] [, . . .]})

Seperti yang telah kita bahas di bagian sebelumnya, versi pernyataan CREATE TABLE ini
menggabungkan fasilitas untuk mendefinisikan integritas referensial dan batasan lainnya.
Ada variasi signifikan dalam dukungan yang diberikan oleh dialek yang berbeda untuk versi
pernyataan ini. Namun, ketika terfasilitasi, fasilitas tersbur harus digunakan.
Pernyataan CREATE TABLE membuat tabel bernama TableName yang terdiri dari
satu atau lebih kolom dari tipe data yang ditentukan. Klausa DEFAULT opsional dapat
ditentukan untuk memberikan nilai default untuk kolom tertentu. SQL menggunakan nilai
default ini setiap kali pernyataan INSERT gagal untuk menentukan nilai untuk kolom. Di
antara nilai-nilai lain, defaultOption termasuk literal. Seperti Klausa NOT NULL, UNIQUE,
dan CHECK. Klausul yang tersisa dikenal sebagai batasan tabel dan dapat secara opsional
didahului dengan klausa:
CONSTRAINT ConstraintName
Untuk kesulitan memberi nama dan mengganti nama dapat menggunakan ALTER TABLE.
Klausa PRIMARY KEY menentukan kolom atau kolom yang membentuk kunci
utama dalam tabel. Jika klausul ini tersedia, maka harus ditentukan primary key untuk setiap
tabel yang dibuat. Secara default, setiap kolom primary key diasusmsikan sebagai NOT
NULL. Hanya satu klausa PRIMARY KEY yang diperbolehkan untuk setiap tabel. SQL
menolak operasi INSERT atau UPDATE yang mencoba membuat duplikat baris dalam
kolom PRIMARY KEY (s). Dengan cara ini, SQL menjamin keunikan kunci utama.
Klausa FOREIGN KEY menentukan foreign key dalam tabel (anak) dan
hubungannya dengan tabel lain. aturan ini mengimplementasikan batasan integritas
referensial. Klausa yang menentukan foreign key sebagai berikut:
 Daftar kolom dari ForeignKey, adalah kolom dari tabel yang dibuat dengan
membentuk kunci asing.

ISYS6508 – Database System


 sub klausa REFERENCE, memberikan tabel induk, yaitu tabel yang memegang
candidate key yang pas. Jika listOfCandidateKeyColumns dihilangkan, foreign key
diasumsikan sesuai dengan primary key dari tabel induk. Dalam hal ini, tabel induk
harus memiliki klausa PRIMARY KEY dalam pernyataan CREATE TABLE-nya.
 pilihan update (ON UPDATE) untuk relasi yang menentukan tindakan yang harus
diambil ketika candidate key diupdate dalam tabel induk yang cocok dengan foreign
key di tabel anak. ReferentialAction dapat menjadi CASCADE, SET NULL, SET
DEFAULT, atau NO ACTION. Jika klausa ON UPDATE dihilangkan, diasumsikan
sebagai default yaitu NO ACTION.
 pilihan delete (ON DELETE) untuk relasi yang menentukan tindakan yang harus
diambil ketika baris dihapus dari tabel induk yang memiliki kunci kandidat yang
cocok dengan foreign key dalam tabel anak. ReferentialAction sama seperti aturan
ON UPDATE.
 Secara default, batasan referensial yang dipenuhi jika komponen dari foreign key
adalah null atau ada baris yang cocok dalam tabel induk. Pilihan MATCH
menyediakan kendala tambahan yang berkaitan dengan nol dalam foreign key. Jika
ditentukan MATCH FULL, komponen foreign key semuanya harus null atau semua
harus memiliki nilai. Jika ditentukan MATCH PARTIAL, komponen foreign key
semuanya harus null, atau harus ada, setidaknya satu baris dalam tabel induk yang
dapat memenuhi kendala null jika lainnya diganti dengan benar. Beberapa penulis
berpendapat bahwa integritas referensial seharusnya menyiratkan MATCH FULL.
Contoh Create Table yang lengkap dari tabel PropertyForRent:
CREATE DOMAIN OwnerNumber AS VARCHAR(5)
CHECK (VALUE IN (SELECT ownerNo FROM PrivateOwner));
CREATE DOMAIN StaffNumber AS VARCHAR(5)
CHECK (VALUE IN (SELECT staffNo FROM Staff));
CREATE DOMAIN BranchNumber AS CHAR(4)
CHECK (VALUE IN (SELECT branchNo FROM Branch));
CREATE DOMAIN PropertyNumber AS VARCHAR(5);
CREATE DOMAIN Street AS VARCHAR(25);
CREATE DOMAIN City AS VARCHAR(15);

ISYS6508 – Database System


CREATE DOMAIN Postcode AS VARCHAR(8);
CREATE DOMAIN PropertyType AS CHAR(1)
CHECK(VALUE IN (‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘M’, ‘S’));
CREATE DOMAIN PropertyRooms AS SMALLINT;
CHECK(VALUE BETWEEN 1 AND 15);
CREATE DOMAIN PropertyRent AS DECIMAL(6,2)
CHECK(VALUE BETWEEN 0 AND 9999.99);
CREATE TABLE PropertyForRent(
propertyNo PropertyNumber NOT NULL,
street Street NOT NULL,
city City NOT NULL,
postcode PostCode,
type PropertyType NOT NULL DEFAULT ‘F’,
rooms PropertyRooms NOT NULL DEFAULT 4,
rent PropertyRent NOT NULL DEFAULT 600,
ownerNo OwnerNumber NOT NULL,
staffNo StaffNumber
CONSTRAINT StaffNotHandlingTooMuch
CHECK (NOT EXISTS (SELECT staffNo
FROM PropertyForRent
GROUP BY staffNo
HAVING COUNT(*) > 100)),
branchNo Br PRIMARY KEY (propertyNo),
FOREIGN KEY (staffNo) REFERENCES Staff ON DELETE SET NULL
ON UPDATE CASCADE, anchNumber NOT NULL,
FOREIGN KEY (ownerNo) REFERENCES PrivateOwner ON DELETE NO
ACTION ON UPDATE CASCADE,
FOREIGN KEY (branchNo) REFERENCES Branch ON DELETE NO
ACTION ON UPDATE CASCADE);

ISYS6508 – Database System


Changing a Table Definition (ALTER TABLE)
Standar ISO menyediakan pernyataan ALTER TABLE untuk mengubah struktur tabel
setelah pembuatan tabel. Definisi pernyataan ALTER TABLE dalam standar ISO terdiri dari
enam opsi yaitu:
 Menambahkan kolom baru ke tabel.
 Menghapus kolom dari tabel.
 Menambahkan constraint pada tabel baru.
 Menghapus constraint pada tabel.
 Mengatur kolom default.
 Menghapus kolom default.
Format dasar kalimat ALTER adalah:
ALTER TABLE TableName
[ADD [COLUMN] columnName dataType [NOT NULL] [UNIQUE]
[DEFAULT defaultOption] [CHECK (searchCondition)]]
[DROP [COLUMN] columnName [RESTRICT | CASCADE]]
[ADD [CONSTRAINT [ConstraintName]] tableConstraintDefinition]
[DROP CONSTRAINT ConstraintName [RESTRICT | CASCADE]]
[ALTER [COLUMN] SET DEFAULT defaultOption]
[ALTER [COLUMN] DROP DEFAULT]
Klausa ADD COLUMN serupa dengan definisi kolom dalam pernyataan CREATE TABLE.
Klausa DROP COLUMN menentukan nama kolom yang akan dihapus dari definisi tabel, dan
memiliki kualifikasi opsional yang menentukan apakah tindakan DROP adalah kaskade atau
tidak.
Contoh 1 ALTER TABLE
ALTER TABLE Staff
ALTER position DROP DEFAULT;
ALTER TABLE Staff
ALTER sex SET DEFAULT ‘F’;
Contoh 2 ALTER TABLE
ALTER TABLE PropertyForRent
DROP CONSTRAINT StaffNotHandlingTooMuch;

ISYS6508 – Database System


ALTER TABLE Client
ADD prefNoRooms PropertyRooms;

Removing a Table (DROP TABLE)


Seiring waktu, struktur database akan berubah; tabel baru akan dibuat dan beberapa
tabel tidak lagi diperlukan. Kita dapat menghapus tabel redundan dari database menggunakan
pernyataan DROP TABLE, yang memiliki format:
DROP TABLE TableName [RESTRICT | CASCADE]
Misalnya, untuk menghapus tabel PropertyForRent kita menggunakan perintah:
DROP TABLE PropertyForRent;
Efek total dari TABLE DROP dengan CASCADE bisa sangat luas dan harus dilakukan
dengan sangat hati-hati. Satu penggunaan umum DROP TABLE adalah untuk memperbaiki
kesalahan yang dibuat saat membuat tabel. Jika tabel dibuat dengan struktur yang salah,
DROP TABLE dapat digunakan untuk menghapus tabel yang baru dibuat dan mulai lagi.

Creating an Index (CREATE INDEX)


Indeks adalah struktur yang menyediakan akses lebih cepat ke baris tabel berdasarkan
nilai pada satu kolom atau lebih. Kehadiran indeks dapat meningkatkan kinerja kueri secara
signifikan. Namun, karena indeks dapat diperbarui oleh sistem setiap kali tabel yang
mendasarinya diperbarui, biaya tambahan dapat mungkin terjadi. Indeks biasanya dibuat
untuk memenuhi kriteria pencarian tertentu pada tabel yang sering digunakan untuk beberapa
waktu dan ukuran tabel membesar. Pembuatan indeks bukan standar SQL. Namun, sebagian
besar dialek mendukung kemampuan indeks. Format penulisan indeks sebagai berikut:
CREATE [UNIQUE] INDEX IndexName
ON TableName (columnName [ASC | DESC] [, . . .])

Contoh pembuatan indeks


CREATE INDEX Rentlnd ON PropertyForRent (city, rent);
maka indeks yang disebut Rentlnd dibuat untuk tabel PropertyForRent. Entri akan disusun
menurut abjad berdasarkan kota yang disewa di setiap kota.

ISYS6508 – Database System


Removing an Index (DROP INDEX)
Jika kita membuat indeks untuk tabel dan kemudian memutuskan bahwa itu tidak lagi
diperlukan, kita dapat menggunakan pernyataan DROP INDEX untuk menghapus indeks dari
database. DROP INDEX memiliki format berikut:
DROP INDEX IndexName;
Sehingga untuk menghapus indeks RentInd maka digunakan pernyataan:
DROP INDEX Rentlnd;

ISYS6508 – Database System


SIMPULAN

Kesimpulan dari materi ini adalah:

1. Standar ISO SQL menyediakan klausul dalam pernyataan CREATE dan ALTER
TABLE untuk mendefinisikan batasan integritas yang menangani data yang
diperlukan, kendala domain, integritas entitas, integritas referensial, dan kendala
umum. Data yang diperlukan dapat ditentukan menggunakan NOT NULL. Kendala
domain dapat ditentukan menggunakan klausa CHECK atau dengan mendefinisikan
domain menggunakan pernyataan CREATE DOMAIN.
2. primary key harus didefinisikan menggunakan klausa PRIMARY KEY dan
alternative key menggunakan kombinasi NOT NULL dan UNIQUE.
3. foreign key harus didefinisikan dengan menggunakan klausa FOREIGN KEY.
4. memperbarui dan menghapus aturan menggunakan sub-klausa ON UPDATE dan ON
DELETE.
5. Kendala umum dapat didefinisikan dengan menggunakan klausa CHECK dan
UNIQUE. Kendala umum juga dapat dibuat menggunakan pernyataan CREATE
ASSERTION.

ISYS6508 – Database System


DAFTAR PUSTAKA

Connolly, T., & Begg, C. (2015). Database System A Practical Approach to Design,
Implemetation, and Management 6th Edition. Pearson

ISYS6508 – Database System

Anda mungkin juga menyukai