Apa itu DDL & DML ?
Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
- DDL - Data Definition Language
- DML - Data Manipulation Language
DDL - Data Definition Language
DDL adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain. (1) (D ata D escription L anguage) Sebuah bahasa yang digunakan untuk mendefinisikan data dan hubungan mereka ke data lain. It is used to create the data structure in a database. Hal ini digunakan untuk membuat struktur data dalam database. Major database management systems (DBMSs) use a SQL data description language. manajemen sistem database Mayor (DBMSs) menggunakan bahasa data deskripsi SQL.
Contoh :
Membuat table bernama ms_karyawan dengan perintah :
CREATE TABLE `ms_karyawan` (
`kode_cabang` varchar(10) default NULL,
`kode_karyawan` varchar(10) NOT NULL,
`nama_depan` varchar(8) default NULL,
`nama_belakang` varchar(9) default NULL,
`jenis_kelamin` varchar(1) default NULL,
PRIMARY KEY (`kode_karyawan`)
)
Daftar Perintah DDL MySQL 5.0
- Pembuatan (CREATE)
- CREATE DATABASE
- CREATE FUNCTION
- CREATE INDEX
- CREATE PROCEDURE
- CREATE TABLE
- CREATE TRIGGER
- CREATE VIEW
- Perubahan (ALTER & RENAME)
- ALTER DATABASE
- ALTER FUNCTION
- ALTER PROCEDURE
- ALTER TABLE
- ALTER VIEW
- RENAME TABLE
- Penghapusan (DROP)
- DROP DATABASE
- DROP FUNCTION
- DROP INDEX
- DROP PROCEDURE
- DROP TABLE
- DROP TRIGGER
- DROP VIEW
Tabel Matrix Perintah DDL MySQL 5.0
Object / Operation | CREATE | ALTER | DROP | RENAME |
DATABASE | Yes | Yes | Yes |
|
FUNCTION | Yes | Yes | Yes |
|
INDEX | Yes |
| Yes |
|
PROCEDURE | Yes | Yes | Yes |
|
TABLE | Yes | Yes | Yes | Yes |
TRIGGER | Yes |
| Yes |
|
VIEW | Yes | Yes | Yes |
|
DML - Data Manipulation Language
DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table.
Contoh :
Memasukkan data ke dalam tabel ms_karyawan
INSERT INTO `ms_karyawan`(
`kode_cabang`,
`kode_karyawan`,
`nama_depan`,
`nama_belakang`,
`jenis_kelamin`)
VALUES ('cab-001','kar-001','Feris','Thia','Laki-laki');
Daftar Perintah DML MySQL 5.0
- CALL
- DELETE
- DO
- HANDLER
- INSERT
- LOAD DATA INFILE
- REPLACE
- SELECT
- TRUNCATE
- UPDATE
· DDL mendefinisikan struktur basis data, seperti pembuatan basis data, pembuatan tabel dsbnya. Contoh: CREATE DATABASE dan CREATE TABLE.
DML merupakan bagian untuk memanipulasi basis data seperti: pengaksesan data, penghapusan, penambahan dan pengubahan data. DML juga dapat digunakan untuk melakukan komputasi data. Contoh: INSERT,DELETE, dan UPDATE.
1. Data Definition Language ( DDL )
- Perintah SQL untuk definisi data:
· CREATE untuk membentuk basis data, table atau index
· ALTER untuk mengubah struktur table
· DROP untuk menghapus basis data, table atau index
2.Data Manipulation Languange ( DML )
- Bahasa untuk mengakses basis data
- Bahasa untuk mengolah basis data
- Bahasa untuk memanggil fungsi-fungsi agregasi
- Bahasa untuk melakukan query
- Jenis-jenis query:
· Sederhana
· Join
· Bertingkat ( Nested Query )
Contoh : Skema Model Relasi Antar Tabel Toko Kaset
• SQL dibagi menjadi dua kategori utama: bahasa definisi data (DDL) dan bahasa manipulasi data (DML). Both of these categories contain far more statements than we can present here, and each of the statements is far more complex than we show in this introduction. Kedua kategori ini berisi laporan lebih jauh dari yang kita dapat hadir di sini, dan masing-masing pernyataan di bawah ini jauh lebih kompleks daripada yang kita tampilkan di pendahuluan ini. If you want to master this material, we strongly recommend that you find a SQL reference for your own database software as a supplement to these pages. Jika Anda ingin menguasai materi ini, kami sangat menyarankan Anda mencari referensi untuk perangkat lunak database SQL Anda sendiri sebagai suplemen untuk halaman ini.
· Data definition language Bahasa definisi data
· DDL statements are used to build and modify the structure of your tables and other objects in the database. Laporan DDL yang digunakan untuk membangun dan memodifikasi struktur tabel Anda dan objek lain dalam database. When you execute a DDL statement, it takes effect immediately. Ketika Anda menjalankan sebuah pernyataan DDL, itu berlaku segera.
· • The create table statement does exactly that: • membuat laporan yang tidak tepat tabel:
· CREATE TABLE
( , ... ); · The data types that you will use most frequently are character strings, which might be called VARCHAR or CHAR for variable or fixed length strings; numeric types such as NUMBER or INTEGER, which will usually specify a precision; and DATE or related types. tipe data ini yang akan Anda gunakan paling sering adalah karakter string, yang mungkin disebut VARCHAR atau CHAR untuk variabel atau string panjang tetap; tipe numerik seperti NOMOR atau INTEGER, yang biasanya akan menentukan presisi dan DATE atau jenis terkait. Data type syntax is variable from system to system; the only way to be sure is to consult the documentation for your own software. tipe sintaks Data variabel dari sistem ke sistem; satu-satunya cara untuk memastikan adalah untuk berkonsultasi dokumentasi untuk perangkat lunak Anda sendiri.
· • The alter table statement may be used as you have seen to specify primary and foreign key constraints, as well as to make other modifications to the table structure. Key constraints may also be specified in the CREATE TABLE statement. • Pernyataan yang mengubah tabel dapat digunakan seperti yang kamu lihat untuk menentukan dasar dan asing kendala utama, serta untuk membuat modifikasi lain dengan struktur tabel kendala. Kunci juga dapat ditentukan dalam pernyataan CREATE TABLE.
· ALTER TABLE
ADD CONSTRAINT PRIMARY KEY (); · You get to specify the constraint name. Anda bisa menentukan nama kendala. Get used to following a convention of tablename_pk (for example, Customers_pk), so you can remember what you did later. Biasakanlah untuk mengikuti konvensi dari tablename_pk (misalnya, Customers_pk), sehingga Anda dapat mengingat apa yang Anda lakukan nanti. The attribute list contains the one or more attributes that form this PK; if more than one, the names are separated by commas. Daftar atribut berisi satu atau lebih atribut yang formulir ini PK; jika lebih dari satu, nama dipisahkan oleh koma.
· • The foreign key constraint is a bit more complicated, since we have to specify both the FK attributes in this (child) table, and the PK attributes that they link to in the parent table. • Kendala kunci asing adalah sedikit lebih rumit, karena kita harus menentukan atribut kedua FK di anak ini () meja, dan PK atribut yang mereka link ke dalam tabel induk.
· ALTER TABLE
ADD CONSTRAINT FOREIGN KEY () REFERENCES (); · Name the constraint in the form childtable_parenttable_fk (for example, Orders_Customers_fk). Nama kendala dalam childtable_parenttable_fk bentuk (misalnya, Orders_Customers_fk). If there is more than one attribute in the FK, all of them must be included (with commas between) in both the FK attribute list and the REFERENCES (parent table) attribute list. Jika ada lebih dari satu atribut di FK, semuanya harus disertakan (dengan koma antara) di kedua daftar atribut FK dan REFERENSI (tabel induk) daftar atribut.
· You need a separate foreign key definition for each relationship in which this table is the child. Anda butuh kunci definisi asing terpisah untuk setiap hubungan yang tabel ini adalah anak.
· • If you totally mess things up and want to start over, you can always get rid of any object you've created with a drop statement. • Jika Anda mess hal-hal yang benar-benar terserah dan ingin mulai dari awal, Anda selalu dapat membuang objek apapun yang Anda buat dengan pernyataan drop. The syntax is different for tables and constraints. sintaks yang berbeda untuk tabel dan kendala.
· DROP TABLE
DROP CONSTRAINT ;
· This is where consistent constraint naming comes in handy, so you can just remember the PK or FK name rather than remembering the syntax for looking up the names in another table. Di sinilah kendala penamaan yang konsisten akan menolong, sehingga Anda hanya dapat mengingat FK PK atau nama daripada mengingat sintaks untuk mencari nama-nama di meja lain. The DROP TABLE statement gets rid of its own PK constraint, but won't work until you separately drop any FK constraints (or child tables) that refer to this one. It also gets rid of all data that was contained in the table—and it doesn't even ask you if you really want to do this! Pernyataan itu TABLE DROP mendapat menyingkirkan kendala PK sendiri, tapi tidak akan bekerja sampai Anda secara terpisah drop apapun (FK anak meja atau kendala) yang mengacu pada satu ini. Hal ini juga mendapat menghilangkan semua data yang terkandung di dalam tabel-dan bahkan tidak menanyakan anda apakah anda benar-benar ingin melakukan ini!
· • All of the information about objects in your schema is contained, not surprisingly, in a set of tables that is called the data dictionary . • Semua informasi tentang obyek-obyek dalam skema Anda berisi, tidak mengherankan, dalam satu set tabel yang disebut kamus data. There are hundreds of these tables most database systems, but all of them will allow you to see information about your own tables, in many cases with a graphical interface. Ada ratusan tabel ini sebagian besar sistem database, tetapi semua itu akan memungkinkan Anda untuk melihat informasi tentang tabel sendiri, dalam banyak kasus dengan antarmuka grafis. How you do this is entirely system-dependent. Bagaimana Anda melakukan hal ini sepenuhnya tergantung pada sistem.
· Data manipulation language Bahasa manipulasi data
· DML statements are used to work with the data in tables. laporan DML digunakan untuk bekerja dengan data dalam tabel. When you are connected to most multi-user databases (whether in a client program or by a connection from a Web page script), you are in effect working with a private copy of your tables that can't be seen by anyone else until you are finished (or tell the system that you are finished). Ketika Anda tersambung ke database yang paling multi-user (baik dalam sebuah program klien atau sambungan dari script halaman Web), Anda sebenarnya bekerja dengan salinan pribadi dari meja Anda yang tidak dapat dilihat oleh orang lain sampai Anda selesai (atau memberitahu sistem bahwa Anda sudah selesai). You have already seen the SELECT statement; it is considered to be part of DML even though it just retreives data rather than modifying it. Anda telah melihat pernyataan SELECT, melainkan dianggap sebagai bagian dari DML meskipun hanya retreives data bukan modifikasi.
· • The insert statement is used, obviously, to add new rows to a table. • Pernyataan insert digunakan, jelas, untuk menambahkan baris baru ke sebuah meja.
· INSERT INTO
VALUES (, ... ); · The comma-delimited list of values must match the table structure exactly in the number of attributes and the data type of each attribute. The comma-delimited daftar nilai-nilai harus sesuai dengan struktur tabel persis jumlah atribut dan tipe data setiap atribut. Character type values are always enclosed in single quotes; number values are never in quotes; date values are often (but not always) in the format 'yyyy-mm-dd' (for example, '2006-11-30'). Karakter jenis nilai-nilai selalu tertutup dalam tanda kutip tunggal, nilai-nilai angka tidak pernah dalam tanda kutip; nilai tanggal sering (tetapi tidak selalu) dalam format 'yyyy-mm-dd' (misalnya, '2006-11-30 ').
· Yes, you will need a separate INSERT statement for every row. Ya, Anda akan memerlukan sebuah pernyataan INSERT terpisah untuk setiap baris.
· • The update statement is used to change values that are already in a table. • Pernyataan update digunakan untuk mengubah nilai yang sudah ada di meja.
· UPDATE
SET = WHERE ; · The update expression can be a constant, any computed value, or even the result of a SELECT statement that returns a single row and a single column. Ekspresi update dapat berupa sebuah konstanta, setiap nilai dihitung, atau bahkan hasil dari perintah SELECT yang mengembalikan satu baris dan satu kolom. If the WHERE clause is omitted, then the specified attribute is set to the same value in every row of the table (which is usually not what you want to do). Jika klausa WHERE dihilangkan, maka atribut tertentu diatur ke nilai yang sama dalam setiap baris tabel (yang biasanya tidak apa yang ingin Anda lakukan). You can also set multiple attribute values at the same time with a comma-delimited list of attribute=expression pairs. Anda juga dapat mengatur beberapa nilai atribut pada saat yang sama dengan-delimited tanda koma daftar atribut pasangan = ekspresi.
· • The delete statement does just that, for rows in a table. • Pernyataan menghapus tidak hanya itu, untuk baris dalam tabel.
· DELETE FROM
WHERE ; · If the WHERE clause is omitted, then every row of the table is deleted (which again is usually not what you want to do)—and again, you will not get a “do you really want to do this?” message. Jika klausa WHERE dihilangkan, maka setiap baris tabel akan dihapus (yang lagi biasanya tidak apa yang ingin Anda lakukan)-dan sekali lagi, Anda tidak akan mendapatkan "apakah Anda benar-benar ingin melakukan ini pesan?".
· • If you are using a large multi-user system, you may need to make your DML changes visible to the rest of the users of the database. • Jika Anda menggunakan sistem multi-user yang besar, Anda mungkin perlu membuat perubahan DML anda dapat dilihat oleh seluruh pengguna database. Although this might be done automatically when you log out, you could also just type: Meskipun ini mungkin dilakukan secara otomatis saat Anda log out, Anda juga bisa cukup ketik:
· COMMIT;
· • If you've messed up your changes in this type of system, and want to restore your private copy of the database to the way it was before you started (this only works if you haven't already typed COMMIT), just type: • Jika Anda telah mengacaukan perubahan dalam sistem semacam ini, dan ingin mengembalikan salinan pribadi Anda dari database ke jalan itu sebelum Anda mulai (ini bekerja hanya jika Anda belum mengetik COMMIT), cukup ketik:
· ROLLBACK;
· Although single-user systems don't support commit and rollback statements, they are used in large systems to control transactions , which are sequences of changes to the database. Meskipun sistem single-user tidak mendukung komitmen dan pernyataan rollback, mereka digunakan dalam sistem yang besar untuk mengontrol transaksi, yang merupakan urutan perubahan ke database. Transactions are frequently covered in more advanced courses. Transaksi sering dibahas dalam kursus yang lebih maju.
· Privileges Keistimewaan
· If you want anyone else to be able to view or manipulate the data in your tables, and if your system permits this, you will have to explicitly grant the appropriate privilege or privileges (select, insert, update, or delete) to them. Jika Anda ingin orang lain dapat melihat atau memanipulasi data dalam tabel Anda, dan jika sistem Anda izin ini, Anda harus secara eksplisit memberikan hak istimewa atau hak istimewa yang sesuai (pilih, insert, update, atau menghapus) kepada mereka. This has to be done for each table. The most common case where you would use grants is for tables that you want to make available to scripts running on a Web server, for example: Ini harus dilakukan untuk setiap tabel. Yang paling umum kasus di mana Anda akan menggunakan hibah ini untuk tabel yang Anda ingin membuat tersedia untuk script yang berjalan pada server Web, misalnya:
· GRANT select, insert ON customers TO webuser;
- DDL (Data Definition Language), yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER.
Kasus Data Definition Language (DDL)
A.CREATE
1.Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau perusahaan.
Sintaks : CREATE DATABASE (nama_database)
ex. : Buat database dengan nama Hotel Sukaria
CREATE DATABASE SUKARIA
2. Pembuatan tabel
Sintaks : CREATE TABLE nama_table (nama_kolom1, tipe_data_kolom1,nama_kolom2,tipe_data_kolom2,.....)
ex. :Buat struktur tabel dengan nama tabel PENYEWA dengan data Kode_penyewa char(8),
NAMA char(25),ALAMAT char(35),KOTA char(10),N0_telp char(15)
CREATE TABLE PENYEWA (Kode_penyewa char(8) not null,NAMA char(25) not null,ALAMAT char(35) not null,KOTA char(10) not null,No_telp char(15) not null)
3. Pembuatan index
Sintaks : CREATE[UNIQUE] INDEX nama_index ON nama_table(nama_kolom);
ex. : Buat index data penyewa berdasarkan Kode_penyewa dengan nama PENYEWAIDX
dimana Kode tidak boleh sama.
CREATE UNIQUE INDEX PENYEWAIDX ON PENYEWA(KODE)
4. Pembuatan view
Sintaks : CREATE VIEW nama_view[(nama_kolom1),.......);
AS SELECT statement]
[WITH CHECK OPTION];
ex. : Buat view dengan nma PENYEWAVIEW yang berisi semua data penyewa
CREATE VIEW PENYEWAVIEW
AS SELECT *FROM PENYEWA
B.. DROP (MENGHAPUS)
1).menghapus Database
Sintaks : DROP DATABASE nama_db;
ex.: Hapus database Sukaria
DROP DATABASE HOTEL SUKARIA
2). menghapus Tabel
Sintaks : DROP TABLE nama_table;
ex.: Hapus tabel penyewa
DROP TABLE PENYEWA
3). menghapus index
Sintaks : DROP INDEX nama_index;
ex. : Hapus index PENYEWAIDX
DROP INDEX PENYEWAIDX
4). menghapus view
Sintaks : DROP VIEW nama_view
ex.: Hapus view PENYEWAVIEW
DROP VIEW PENYEWAVIEW
C. ALTER TABLE(MERUBAH STRUKTUR TABEL)
sintaks : ALTER TABLE nama_table
ADD(nama_kolom,jenis_ kolom)
MODIFY(nama_kolom,jenis_kolom)
ex.: ubah panjang kolom ALAMAT menjadi 40 char
ALTER TABLE ALAMAT MODIFY(ALAMT char(40));
2. DML (DATA MANIPULATION LANGUAGE)
yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel record.Misalnya INSERT,UPDATE,DELETE.
CONTOH APLIKASI KONSEP DML
PADA DATABASE PENYEWAAN HOTEL
Contoh penggunaan perintah - perintah pada DML
1). INSERT
Sintaks : INSERT INTO Nama_tabel[(nama_kolom1,....)]
ex.: masukkan data Kode_kamar dengan kode VP100111dan besarnya 3
INSERT INTO KD_KMR VALUES("VP100111","VIP",3)
2). UPDATE
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi
ex.: ubah alamat menjadi "Bandung" untuk penyewa yang memiliki kode " TG1000001"
UPDATE PENYEWA
SET ALAMAT =" BANDUNG"
WHERE KODE =" TG1000001";
3). DELETE
Sintaks : DELETEFROM nama_table
WHERE kondisi
ex. : hapus data kls_kamar "REGULER" bagi penyewa yang mempunyai kode "TG1000002"
DELETE FROM JNS WHERE
KD_PENYEWA= "TG1000002" AND KLS_KAMAR="REGULER
0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda