SQL SERVER 2000 (Antonius Wahyu Sudrajat, S. Kom) /* Beberapa teknologi basis data, yaitu: 1. 2. 3. 4. 5. Microsoft Acess Microsoft SQL Server 2000 My SQL Oracel dll */ /* Perancangan Data Teknologi Basis Data merupakan tempat mengimplementasikan rancangan data fisik dimana rancangan data dibuat atau dirancang dengan menggunakan beberapa alat perancangan basis data yaitu: 1. Entity Relationships Diagram 2. Teknik Normalisasi Data (Silahkan Anda buka kembali pelajaran Sistem Basis Data) */ /* SQL (Structured Query Language) merupakan bahasa yang banyak digunakan dalam berbagai produk database. SQL adalah bahasa yang digunakan untuk mengakses database yang relasional. Perintah-perintah SQL dikelompokkan menjadi dua macam : 1. Data Definition Language (DDL) Adalah perintah SQL yang digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database. Perintahnya adalah sebagai berikut : a. Create, untuk membuat / menciptakan objek database b. Alter, untuk memodifikasi / mengubah objek database. c. Drop, untuk menghapus objek database. Objek database yang dimaksud terdiri dari database, table, index, dan view. 2. Data Manipulation Language (DML) Adalah perintah yang digunakan untuk mengoperasikan atau memanipulasi isi database. SQL menyediakan 4 perintah DML : a. Select, digunakan untuk mengambil data dari database. b. Delete, digunakan untuk menghapus data pada database. c. Insert , menambah data ke database. d. Update, memodifikasi data pada database. CATATAN: KALAU ADA ISTILAH: APAPUN MAKANANNYA MINUMNYA TEH BOTOL SOSRO, MAKA APAPUN TEKNOLOGI BASIS DATANYA YANG JELAS SQL ADALAH BAHASANYA! */ /* SQL Server 2000 Teknologi basis data yang akan kita gunakan dan pelajari adalah dengan menggunakan SQL Server 2000. pada SQL server 2000 terdapat tiga editor yang dapat digunakan yaitu: 1. SQL Server Service Manager digunakan untuk mengkoneksikan SQL server. 2. Query Analyzer tempat untuk membangun basis data namun berbasis text, karena Anda diharuskan untuk mengerti sintaks dasar dalam membuat objek. 3. Enterprise Manager tempat untuk membangun basis data namun berbasis visual */ /* Cara membuka SQL server (editor Query Analyzer) - klik pilih start - program - SQL server - Query Analyzer - pada layar muncul jendela Connect to SQL server - SQL Server = pilih [Local] atau beri tanda titik[.] - Connect Using - pilih SQL Server authentication - Login Name = sa - password = kaupt */ /* Penulisan Komentar ada dua cara atau dua bentuk dalam menulis komentar pada SQL server khusus Editor Query Analyzer, yaitu: 1. dua tanda mines (--) digunakan untuk komentar yang hanya satu baris contoh: --SQL Server 2000 2. garis miring diikuti dengan tanda bintang (/*) dan diakhiri dengan tanda bintang dan garis miring. digunakan untuk komentar dalam jumlah baris yang banyak. contoh: /* Belajar SQL Server dengan editor Query Analizer */ */ /* Cara menyimpan dan membuka file .SQL 1. cara menyimpan - pilih file, save atau - klik menu save pada tool bar, kemudian pilih folder atau direktori dimana anda akan menyimpan file SQL tersebut - tekan tombol SAVE 2. cara membuka - pilih file, open atau - klik menu open pada tool bar, kemudian pilih folder atau direktori dimana anda menyimpan file SQL. - tekan tombol OPEN */ /* ALUR MEMBANGUN DATABASE DALAM SQL SERVER (editor Query Analyzer) 1. Buat database 2. Aktifkan database yang telah dibuat 3. Buat tabel Beberapa perubahan-perubahan (dilakukan jika terjadi kesalahan (HANYA TERHADAP STRUKTUR FIELD)) 1) perubahan nama field 2) perubahan type data dan size 3) menghapus field 4) menambah field 5) menghapus tabel 6) menghapus database Beberapa hal yang perlu Anda ingat: 1. primary key 2. foregin key 3. Relationship 4. Mengisi data pada tabel 5. Memanipulasi data (Query) 6. Membuat VIEW 7. membuat trigger 8. membuat stored procedure 9. melakukan aktifitas keamanan database */ /* Cara mengeksekusi 1. Blok perintah yang akan dieksekusi 2. Untuk melihat apakah perintah SQL yang kita ketik atau buat benar atau salah, setelah dibok Anda Tekan: a. Ctrl + F5 b. Tekan tombol Parse Query pada tool bar 3. Ada dua cara untuk mengeksekusi hasil a. setelah diblok tekan tekan F5 b. setelah diblok tekan tombol Execute pada tool bar */ /* Tipe data pada SQL Server 2000 Beberapa tipe data yang dikenal pada database SQL Server 2000, yaitu: a. Binary, menyimpan deretan bit Type data dasar, yaitu: - Binary,data biner yang mempunyai panjang tetap dengan ukuran maksimal 8,000 byte - Varbinary,data biner dengan panjang data bervariasi, panjang maksimum 8,000 byte - Image, data binerdengan panjang data bervariasi. b. Character Type data dasar, yaitu: - Char,data harus mempunyai panjang tetap dengan ukuran maksimum 8,000 karakter (sekitar 8 KB) o contoh: NPM char(9), kd_plg char(9), kd_pos char (4), dll - Varchar,data harus mempunyai panjang tetap dengan ukuran maksimum 8,000 karakter (sekitar 8 KB) o contoh: nm_mhs varchar(9), nm_plg varchar(9), nm_mk varchar (34), dll - Text, data berupa karakter ASCII dengan maksimum 2^31-1 (2,147,483,647) karakter - tipe data ini tepat digunakan untuk menyimpan keterangan yang banyak dan atau file teks c. Date dan Time, berisi kombinasi tanggal dan waktu. tidak ada tipe data yang hanya menyimpan tanggal atau waktu saja. - Datetme, data tanggal dari 1 Januari 1753 sampai 31 Desember 9999 dengan ukuran 8 Byte. - Smalldatetime, data tanggal dari 1 Januari 1900 sampai 6 Juni 2079 dengan ukuran 8 Byte. d. Floating Point, digunakan untuk numerik atau angka dengan nilai pecahan - Float - Real e. Integer, bilangan bulat negativ dan positif - Bigint - Int - Smallint - Tinyint f. Monetary, menyatakan jumlah uang dalam bentuk negative atau positif - Money, jangkauan -922.337.203.685.477,4808 sampai 922.337.203.685.477,4807 ukuran 8 byte - Smallmoney, jangkauan -214.748,3648 sampai dengan 214.748,3647 ukuran 4 byte g. Unicode, memperbolehkan sebuah kolom berisi karakter Unicode standard - Nchar, data harus mempunyai panjang tetap dengan maksimum 4000 karakter Unicode - Nvarchar, data bervariasi sampai 4000 karakter Unicode - Ntext, data melampaui 4000 karakter Unicode */ /* Syntax Dasar SQL, Yaitu: SELECT FROM WHERE GROUP BY HAVING ORDER BY : : : : : : Daftar kolom Daftar tabel Kriteria Daftar Kolom Kriteria Daftar Kolom */ /* membuat database sintaks: Create Database <nama_database> Contoh : */ create database latihan /* Mengaktifkan database sintaks: use <nama_database> */ use latihan /*Membuat tabel dengan menggunakan Editor Query Analyzer pada SQL Server 2000 a. tabel ? tabel digunakan untuk menampung data. ? struktur tabel bisa dimodifikasi. b. aturan penamaan tabel menggunakan PL sql pada oracle : ? harus diawali dengan huruf ? karakter yang boleh A-Z, a-z, 0-9,_.$, dan # ? dalam satu schema tidak boleh ada nama tabel yang sama. c. syntak dasar: create tabel <nama_tabel> ( <field_name1>|<type data>|(size)|<null/not null>|<primary key>, <filed_name2> | <type data> | (size) | <null/not null>, <filed_name3> | <type data> | (size) | <null/not null>, <filed_name4> | <type data> | (size) | <null/not null>, ... <filed_nameN> | <type data> | (size) | <null/not null>, <filed_name1> | <type data> | (size) | <null/not null>, constraint <nama_constraint> foreign key (nama_kolom) references <namatabelacuan> (nama_kolom) ) */ CATATAN: KARKTERISTIK DARI SUATU FIELD ATAU KOLOM HARUS DISESUAIKAN KENGAN KEBUTUHAN INFORMASI YANG DIPERLKAN. NULL FIELD BOLEH TIDAK DIISI NOT NULL FIELD TIDAK BOLEH KOSONG - STUDI KASUS */ -- Rancangan Data Logis (ERD Logis) Pelanggan Penjualan Kd_plg Nm_plg Alm_plg Kota Kd_pos No_tlp Meminta No_nota Tgl_nota Tot_jual Kd_plg # Jual_barang mencatat Jml_jual No_nota # Kd_brg # dicatat Barang Pembelian No_fak Tgl_pesan Total_pesan Kd_spl # dipesan Beli_barang meminta Jml_pesan Total_pesan No_fak # Kd_brg # Diminta Kd_brg Nm_brg merk Jml_brg Satuan Harga Jml_min Kd_ktg # memiliki Supplier Kd_spl Nm_spl Alm_spl No_tlp Context_prsn Kategori Kd_ktg Nm_ktg /* Keterangan: Atribut dengan garis bawah menunjukkan primary key Atribut dengan tanda kres dibelakang menunjukkan foreign key */ /* Ulasan Rancangan data logi diatas dibuat dengan menggunakan ERD Versi James Martin. Dari rancangan tersebut jika dikonversi kedalam bentuk tabel maka akan membentuk delapan tabel, diman 6 tabel dari hasil konversientitasdan 2 tabel dari hasil konversi relasi. */ /* CATATAN PENTING: Ketika mengimplementasikan hasil rancangan buatlah terlebih dahulu tabel tang TIDAK MENGANDUNG atau TERDAPAT FOREIGN KEY, setelah itu Baru Anda buat tabel yang MENGANDUNG FOREIGN KEY!! */ --Perubahan-perubahan yang mungkin terjadi: Menambah kolom - menambah kolom Syntak Dasar: Alter Table <Nama_tabel> Add <nama_kolom_baru> <Type Data> <(Size)> - Menambahkan kolom atau mengubah kolom menjadi primary key Syntak Dasar Alter table <nama_tabel> Add constraint <tabel_konstraint> | <nama kolom/field> CATATAN: UNTUK MENGUBAH KOLOM MENJADI PRIMARY KEY, SYARATNYA KOLOM TERSEBUT HARUS NOT NULL TERLEBI DAHULU! Menghapus Kolom - Syntak Dasar: Alter Table <Nama_tabel> Drop column <nama_kolom> Mengubah Kolom a. Mengubah Tipe Data - Syntak Dasar: Alter Table <Nama_tabel> Modify <nama_kolom> <Type Data (ubah)> <(Size)> b. Mengubah Ukuran (size) - Syntak Dasar: Alter Table <Nama_tabel> Modify <nama_kolom_baru> <Type Data> <(Size(ubah))> Menghapus Tabel - Syntak Dasar: Drop <nama_table> --Mengisi data pada tabel: 1. cara 1: syntak: INSERT INTO nama_tabel (nama_kolom1 [, nama_kolom2......, nama_kolomN]) values (isi_kolom1 [,isi_kolom2........, isi_kolomN] ) 2. cara 2: syntak: INSERT INTO nama_tabel values (isi_kolom1 [,isi_kolom2........, isi_kolomN] ) contoh pengisian table: 1. Dengan cara 1 Mengisi data tabel pada table pelanggan insert into pelanggan (kd_plg, nm_plg, jns_klm, alm_plg, no_telp) values ('p/001', 'candra wijaya', 'L', 'palembang', ‘0711770809'); insert into pelanggan (kd_plg, nm_plg, jns_klm, alm_plg, no_telp) values ('p/002', 'yustina wati', 'P', 'palembang', '07117778409'); insert into pelanggan (kd_plg, nm_plg, jns_klm, alm_plg, no_telp) values ('p/003', 'sri agustina', 'P', 'bandung', '08137704809'); insert into pelanggan (kd_plg, nm_plg, jns_klm, alm_plg, no_telp) values ('p/004', 'alex kurniawan', 'L', 'jakarta', '0217704249'); insert into pelanggan (kd_plg, nm_plg, jns_klm, alm_plg, no_telp) values ('p/005', 'yohanes', 'L', 'palembang', '07117705709'); 2. Dengan cara 2 Mengisi data tabel pada kategori insert into kategori values ('k/001', insert into kategori values ('k/002', insert into kategori values ('k/003', insert into kategori values ('k/004', insert into kategori values ('k/005', 'gula', 'ok'); 'sabun', 'ok'); 'susu', 'ok'); 'mie', 'ok'); 'tepung', 'ok');