Microsoft SQL Server DDL dan DML dasar

Slides:



Advertisements
Presentasi serupa
SQL.
Advertisements

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.
Database MySQL.
PERINTAH SQL.
Dasar-dasar SQL soesanto.
MYSQL.
DDL(DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE)
SQL Basis Data.
DDL & Aturan Referential
PEMROGRAMAN BASIS DATA
Oleh : Kholid Fathoni, S.Kom., M.T.
Manajemen Basis Data menggunakan SQL Server
Strctured Query Language
Pertemuan : 8 Basis Data Terapan
MODUL 2 BAHASA BASIS DATA
MEMBUAT DATABASE MENGGUNAKAN MICROSOFT SQL SERVER 2008
Internet Programming MySQL
Pemrogramn Berorientasi Obyek MySQL
Konsep Dasar User dan Schema Database
Data Definition Language dan Data Manipulation Language
Review DDL Pertemuan ke 2.
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
BASIS DATA TERAPAN Pertemuan 2.
Data Types Data Definition Language Referential Constraint SQL Query
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
STRUCTURED QUERY LANGUAGE (SQL)
SQL Pertemuan
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Basis Data Terapan Antonius Wahyu Sudrajat, S. Kom., M.T.I Perintah Drop Sintak Menghapus Tabel Drop Aturan: Harus dimulai dari table yang paling children.
SQL Basis data kelas XI. PENGENALAN SQL ■SQL merupakan singkatan dari Structured Query Language. ■SQL merupakan bahasa yang digunakan untuk mengakses.
PENGANTAR TEKNOLOGI SIA 2
Pengenalan Database MySQL
SQL Basis Data.
PEMASARAN BERBASIS WEB
FUNGSI-FUNGSI AKSES MySql
Praktikum Ke (Membuat database, melihat data base, menghapus database, membuat tabel dan melihat tabel).
Connect to the Server - Putty
SQL.
Bahasa query terpan.
Konsep Teknologi Informasi B
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
SQL DML Pertemuan 6 dan 7.
Structured Query Language
Konsep Teknologi Informasi B
DDL (Data definition language)
PEMASARAN BERBASIS WEB
SQL pada basis data client-server
Stucture Query Language
Stucture Query Language
QUERY SQL Modul Query.
SQL OVERVIEW.
Query dalam sql server Pertemuan 6.
Structured Query Language
SQL (Structured Query Language) Oleh : Cosmas Haryawan.
Biodata…… Nama : Muhammad Yunus Alamat : Getap Asal : Sakra Lotim
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Pengenalan mySQL database
Stucture Query Language
Basis Data Bab 3 Structured Query Language (SQL).
Referensi Bahasa MySQL
Stucture Query Language
Praktikum Sistem Basis Data - 2
Praktikum 2 - Sistem Basis Data 1
BAHASA BASIS DATA Data Manipulation Languange
BAHASA BASIS DATA Data Defenition Languange
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

Microsoft SQL Server DDL dan DML dasar Pertemuan 1 Microsoft SQL Server DDL dan DML dasar

Istilah SQL Structured Query Language MSSQL Microsoft SQL Server

Metadata dan data Metadata Data Data tentang data. Berisi informasi mengenai struktur data. Data Data. Data mentah yang dapat diolah menjadi informasi. http://en.wikipedia.org/wiki/Metadata

DDL, DML, DCL DDL (Data Definition Language) adalah bahasa SQL yang mendefinisikan data. DML (Data Manipulation Language) adalah bahasa SQL untuk mengelola data. DCL (Data Control Language) adalah bahasa SQL untuk mengontrol pemakai data.

Kebiasaan yang membantu Jangan lupakan bahwa setiap syntax SQL selalu diakhiri dengan tanda titik koma. Selalu ketikkan keyword SQL dalam huruf besar, dan non-keyword dalam huruf kecil. Contoh: CREATE DATABASE kantor; USE kantor; CREATE TABLE pegawai { id INTEGER PRIMARY KEY, nama VARCHAR(100) NULL, tglLahir DATE NULL }; SELECT * FROM pegawai;

Data Definition Language (DDL) Adalah bahasa SQL yang mendefinisikan data. Antara lain terdiri dari: CREATE TABLE untuk membuat tabel. ALTER TABLE untuk mengubah tabel. DROP TABLE untuk membuang tabel. http://en.wikipedia.org/wiki/Data_definition_language

Syntax CREATE TABLE (dasar) CREATE TABLE namaTabel ( fieldPK tipeFieldPK PRIMARY KEY, field1 tipeField2 NULL/NOT NULL, field2 tipeField3 NULL/NOT NULL ); Catatan: Jika tabel tidak memiliki primary key, maka fieldPK tidak perlu disertakan. NULL berarti boleh bernilai NULL (kosong). NOT NULL sebaliknya.

Syntax CREATE TABLE (dasar) CREATE TABLE namaTabel ( fieldPK tipeFieldPK NOT NULL, field1 tipeField2 NULL/NOT NULL, field2 tipeField3 NULL/NOT NULL, CONSTRAINT namaCons PRIMARY KEY (fieldPK) ); Catatan: CONSTRAINT dapat digunakan untuk menentukan Primary Key atau Foreign Key.

Praktek Buka MSSQL Management Studio Koneksi ke database (lokal) Buka query baru: Klik toolbar “New Query”, atau File > New > Query with Current Connection Ketikkan: CREATE DATABASE kantor; USE kantor; Tekan F5

Praktek Ketikkan: Blok kode SQL di atas dan jalankan (F5) CREATE TABLE pegawai ( id INT NOT NULL, nama VARCHAR (100) NULL, tglLahir DATETIME NULL, CONSTRAINT pk_pegawai PRIMARY KEY (id) ); Blok kode SQL di atas dan jalankan (F5)

Praktek Pastikan keberhasilan Anda: Cek apakah tampil “Command(s) completed successfully” Ketikkan dan jalankan perintah: SELECT * FROM pegawai; Jika muncul tulisan id, nama, tglLahir di tab results di bagian bawah kode, maka sudah berhasil.

Syntax ALTER TABLE Untuk menambah kolom Untuk membuang kolom ALTER TABLE namaTabel ADD namaKolom tipeData; Untuk membuang kolom ALTER TABLE namaTabel DROP namaKolom; Untuk mengubah tipe kolom ALTER TABLE namaTabel ALTER COLUMN namaKolom tipeData;

Syntax DROP TABLE DROP TABLE namaTabel;

Membuat FOREIGN KEY Membuat relationship / hubungan antar tabel, dengan keyword CONSTRAINT: CREATE TABLE namaTabel ( fieldPK tipeData, field1 tipeData DEFAULT nilai, field2 tipeData, CONSTRAINT namaCons PRIMARY KEY (fieldPK), CONSTRAINT namaCons FOREIGN KEY fieldFK REFERENCES tabelRujukan(PKRujukan) );

PRAKTEK Ketikkan dan eksekusi perintah SQL berikut: CREATE TABLE penggajian ( id INT, idPegawai INT NOT NULL, bulan DATETIME NOT NULL, nominal INT DEFAULT 0, CONSTRAINT pk_gaji PRIMARY KEY (id), CONSTRAINT fk_gajiPegawai FOREIGN KEY (idPegawai) REFERENCES pegawai(id) );

CATATAN Baris CONSTRAINT tidak harus ada pada suatu tabel. Bisa saja suatu tabel tidak memiliki PRIMARY KEY maupun FOREIGN KEY. Bisa juga suatu tabel memiliki dua FOREIGN KEY tanpa PRIMARY KEY Suatu tabel juga bisa memiliki FOREIGN KEY yang merujuk pada dirinya sendiri.

PENGINGAT PRIMARY KEY: Merupakan field kunci yang mewakili field-field lain dalam tabel tersebut. Bersifat unik: tidak boleh ada nilai PRIMARY KEY yang sama dalam satu tabel. PRIMARY KEY dapat berjumlah 0, 1, 2, 3 atau berapa saja.

PENGINGAT FOREIGN KEY merupakan suatu field yang merujuk pada nilai pada tabel lain. Misalkan pada tabel penggajian terdapat FK idPegawai, nilai yang disimpan pada field ini cukup PK dari tabel pegawai saja. Field lain dalam tabel pegawai, misalkan nama, tglLahir, dan alamat, dapat diambil dengan menggunakan JOIN. Field rujukan harus memiliki tipe yang sama dengan field yang dirujuk.

Membuat field UNIQUE Atau CREATE TABLE login ( fieldPK tipeData PRIMARY KEY, field1 tipeData UNIQUE, field2 tipeData ); Atau fieldPK INT, field1 tipeData, field2 tipeData, CONSTRAINT namaCons PRIMARY KEY (fieldPK), CONSTRAINT namaCons UNIQUE (fieldUnique)

PRAKTEK Atau CREATE TABLE login ( id INT PRIMARY KEY, username VARCHAR(30) UNIQUE, password VARCHAR(50) ); Atau id INT, username VARCHAR(30), password VARCHAR(50), CONSTRAINT pk_login PRIMARY KEY (id), CONSTRAINT uq_login UNIQUE (username)

CATATAN Field UNIQUE merupakan field yang tidak boleh memiliki nilai yang sama. Field UNIQUE dapat juga digunakan sebagai FOREIGN KEY.

IDENTITY IDENTITY merupakan field yang otomatis bertambah setiap kali suatu record pada database ditambahkan. Field dengan IDENTITY biasanya adalah field PRIMARY KEY. Untuk mendefinisikan field IDENTITY, saat membuat tabel, tambahkan keyword IDENTITY pada field yang diinginkan.

PRAKTEK DROP TABLE login; CREATE TABLE login ( id INT PRIMARY KEY IDENTITY, username VARCHAR(30), password VARCHAR(50) );

CATATAN Field dengan IDENTITY harus berupa INT Tanpa parameter, penomoran field IDENTITY akan dimulai dari 1 dan bertambah 1. IDENTITY(10,5) berarti penomoran dimulai dari angka 10, dan bertambah 5 setiap recordnya.

Data Manipulation Language Adalah bahasa SQL yang digunakan untuk mengelola data. Yang termasuk DML antara lain: SELECT untuk menampilkan data INSERT untuk menambahkan data UPDATE untuk mengubah data DELETE untuk menghapus data

SELECT SELECT merupakan perintah SQL yang paling sering dipakai, dan sekaligus paling kompleks. Topik terkait dengan SELECT: Memilih field, keyword AS WHERE, AND, OR, LIKE, IN, BETWEEN JOIN (LEFT, RIGHT, FULL) TOP dan DISTINCT ORDER BY COUNT, SUM, GROUP BY dan HAVING UNION

SELECT Menampilkan semua field: SELECT * FROM pegawai; Menampilkan field nama dan tglLahir saja SELECT nama, tglLahir FROM pegawai; Menampilkan field dengan alias SELECT id AS kode, nama AS sebutan

SELECT Menyaring data (semua diawali SELECT * FROM pegawai): Menyaring tanggal lahir: WHERE tglLahir > '2000-01-01'; WHERE YEAR(tglLahir) > 2000; Menyaring nama WHERE nama <> 'Fandi'; Digabung: WHERE nama = 'Fandi' AND YEAR(tglLahir)>1800;

SELECT Menyaring data (semua diawali SELECT * FROM pegawai): Menyaring tanggal lahir: WHERE YEAR(tglLahir)<1900 OR YEAR(tglLahir)>2000; WHERE YEAR(tglLahir) NOT BETWEEN 1900 AND 2000; Semua yang namanya ada huruf f: WHERE nama LIKE '%f%';

INSERT Lengkap dengan nama field: INSERT INTO pegawai (id, nama, tglLahir) VALUES (1, 'Fandi', '2000-12-20'); Disingkat, dengan syarat semua field harus diisi dan sesuai urutan: INSERT INTO pegawai VALUES (1, 'Fandi', '2000-12-20'); Hati-hati: PRIMARY KEY CONSTRAINT dan UNIQUE

UPDATE Mengubah nama si Fandi: Mengubah nama dan tglLahir sekaligus: UPDATE pegawai SET nama='Fandi Susanto' WHERE id=1; Mengubah nama dan tglLahir sekaligus: UPDATE pegawai SET nama='Fandi Susanto S.Si.', tglLahir='1900-01-01' WHERE id=1; Pada kebanyakan kasus, kondisi dalam WHERE selalu berhubungan dengan PRIMARY KEY.

DELETE Menghapus data juga biasanya menggunakan PRIMARY KEY sebagai kondisi di dalam WHERE. DELETE FROM pegawai WHERE id=1;

DEMIKIANLAH Terima kasih atas perhatiannya Harap dikuasai: CREATE DATABASE, USE DATABASE CREATE TABLE DROP TABLE SELECT (Yang diformat bold) INSERT, UPDATE, DELETE

SELECT Menyaring data (semua diawali SELECT * FROM pegawai): Semua yang namanya disebutkan: WHERE nama IN ('Fandi', 'Andi', 'Budi');

SELECT Menampilkan pembayaran gaji si Fandi: SELECT * FROM pegawai, penggajian WHERE pegawai.id = penggajian.idPegawai AND pegawai.nama = 'Fandi'; SELECT * FROM pegawai AS p, penggajian AS g WHERE p.id=g.idPegawai AND p.nama = 'Fandi'; SELECT * FROM pegawai p, penggajian g WHERE p.id=g.idPegawai AND p.nama = 'Fandi';

SELECT Menampilkan pembayaran gaji si Fandi dengan INNER JOIN: SELECT * FROM pegawai p INNER JOIN penggajian g ON p.id=g.idPegawai WHERE p.nama = 'Fandi';

SELECT Menampilkan pembayaran gaji semua orang, diurut berdasarkan nama dan bulan (diurut dari bulan terbaru): SELECT p.nama, g.bulan, g.nominal FROM pegawai p INNER JOIN penggajian g ON p.id=g.idPegawai ORDER BY nama ASC, bulan DESC;

Tentang JOIN INNER JOIN: LEFT JOIN: RIGHT JOIN: FULL JOIN: Data ada di tabel kiri dan kanan sekaligus. LEFT JOIN: Data yang ada di tabel kiri tampil semua meski di tabel kanan tidak ada data. RIGHT JOIN: Data yang ada di tabel kanan tampil semua meski di tabel kiri tidak ada data. FULL JOIN: Data tabel kiri dan kanan tampil semua.

TOP dan DISTINCT Menampilkan dua pembayaran gaji terakhir saja SELECT TOP 2 * FROM penggajian; Menampilkan tahun-tahun yang berbeda dari tglLahir: SELECT DISTINCT YEAR(tglLahir) FROM pegawai;

COUNT Menampilkan banyak orang yang belakangnya berakhir dengan 'di': SELECT COUNT(nama) AS jmlOrang FROM pegawai WHERE nama LIKE '%di';

SUM Menampilkan total gaji si Fandi di tahun 2011: SELECT SUM(g.nominal) AS totalGaji FROM pegawai p INNER JOIN penggajian g ON p.id=g.idPegawai WHERE p.nama='Fandi' AND YEAR(g.bulan) = 2011;

GROUP BY Menampilkan total gaji para pegawai di tahun 2011: SELECT p.nama, SUM(g.nominal) AS totalGaji FROM pegawai p INNER JOIN penggajian g ON p.id=g.idPegawai AND YEAR(g.bulan) = 2011 GROUP BY p.nama;

HAVING Menampilkan total gaji para pegawai di tahun 2011: SELECT p.nama, SUM(g.nominal) AS totalGaji FROM pegawai p INNER JOIN penggajian g ON p.id=g.idPegawai AND YEAR(g.bulan) = 2011 GROUP BY p.nama HAVING SUM(g.nominal) >=10000000;

UNION Jarang digunakan. UNION digunakan untuk menggabungkan hasil dari dua buah SELECT. Hasil tipe data kedua SELECT harus sama. Contoh: SELECT * FROM pegawai UNION SELECT 1, 'BOSS', '2012-12-12';