SQL Server 2008
Mengaktifkan DBMS SQL Server 2008 • SQL server 2008 • SQL server management studio
DDL Basis Data • Mendefinisikan, mengubah dan menghapus basis data: Create Database NamaBasisData Alter Database NamaBasisData Drop Database NamaBasisData • Mendefinisikan, mengubah dan menghapus tabel: Create Table NamaTabel Alter Table NamaTabel Drop Table NamaTabel
8
Mendefinisikan Basis Data • Mendefinisikan basis data Pustaka
Create Database Pustaka • DBMS SQL Server membuat dua buah file: 1. Pustaka.mdf, yaitu file basis data, dan 2. Pustaka.ldf, file log yang berisi riwayat perubahan basis data
• Kedua file tsb. disimpan di folder default: C:\Program Files\Microsoft SQL Server \MSSQL\Data\ 9
Mendefinisikan Basis Data • Bila basis datanya akan disimpan di folder tertentu, sintaksnya: Create Database NamaBasisData On Primary (Name=Nama,FileName='Path\NamaFile.mdf')
• Sebagai contoh, pernyataan SQL untuk mendefinisikan basis data Pustaka dengan file datanya di F:\Data\Pustaka.mdf Create Database Pustaka On Primary (Name = Pustaka, FileName = 'F:\Data\Pustaka.mdf') 10
Execute (F5) diblok per query
Ketika SQL Server dibuka, basis data Master adalah basis data default yang aktiv
Penggunaan SQL statement use, akan mengarahkan database yang akan digunakan
• Ciptakan 2 buah database: Perusahaan dan Company • Modifikasilah (ubahlah) nama database company dengan nama CV alter database company modify name= cv • Menghapus database Drop database cv
create database perusahaan
--tabel golongan create table golongan (gol char(1) not null, tunjgol money not null, constraint pk_golongan primary key (gol)) --tabel jabatan create table jabatan (jabatan char (10) not null, tunjjabatan money not null, tunjkeluarga money, constraint pk_jabatan primary key (jabatan))
--tabel pegawai create table pegawai (nip char (10) not null, nama varchar (30) not null, alamat varchar (30), kota varchar (20) not null, tgllahir datetime not null, tmplahir varchar(20) not null, tglmasuk datetime not null, gol char (1) not null, jabatan char (10) not null, statusmenikah char (1) not null, jumlahanak int not null, statusaktif char(1) not null, gajipokok money not null, constraint pk_pegawai primary key (nip), constraint fk_pegawai_golongan foreign key (gol) references golongan (gol), constraint fk_pegawai_jabatan foreign key (jabatan) references jabatan (jabatan))
--tabel absensi create table absensi (tglabsensi datetime not null, nip char (10) not null, jammasuk datetime not null, jampulang datetime not null, constraint pk_absensi primary key (tglabsensi,nip), constraint fk_absensi_pegawai foreign key (nip) references pegawai (nip)) --tabel tidakmasuk create table tidakmasuk (tanggal datetime not null, nip char (10) not null, alasan varchar (50), status char (10) not null, constraint pk_tidakmasuk primary key (tanggal,nip), constraint fk_tidakmasuk_pegawai foreign key (nip) references pegawai (nip))
Query untuk input data insert into golongan values ('A',500000) insert into golongan values ('B',400000) insert into golongan values ('C',300000) insert into golongan values ('D',200000) insert into golongan values ('E',100000)
set dateformat dmy insert into absensi values ('12-1-2004','02001','07:30','16:45') /*merubah data tunjangan golongan dari 500 ribu menjadi 750 ribu utk golongan A*/ update golongan set tunjgol = 750000 where gol = 'A'
--tunjangan jabatan mengalami kenaikan sebesar 10% update jabatan set tunjjabatan = (0.1*tunjjabatan) + tunjjabatan --pegawai yang berdomisili di luar update pegawai set gajipokok = 50000 + gajipokok where kota <> 'Surabaya' and statusaktif = 'A'
/*menampilkan seluruh data pegawai yang diurutkan berdasarkan nama pegawai */ select * from pegawai order by nama desc select * from pegawai /*menampilkan seluruh data pegawai yang dua digit pertama diawali dengan angka 03*/ select * from pegawai where substring(nip,2,3)='100'
/*menampilkan semua data golongan yang berelasi langsung dengan pegawai*/ select gol from pegawai select golongan.gol, pegawai.nip, pegawai.nama, golongan.tunjgol from golongan inner join pegawai on golongan.gol=pegawai.gol
Konvensi Nama • Dalam MS SQL Server, aturan nama sbb: • Maksimum 128 karakter • Terdiri atas huruf dan boleh diikuti dengan angka, simbol khusus: _(garis bawah), #, $, @ • Jangan menggunakan kata kunci SQL. Bila terpaksa, tulis nama di antara dua tanda petik ganda “ “ atau di antara dua kurung siku [ ].
• Sebaiknya hanya menggunakan huruf dan angka supaya tidak timbul masalah pada multiplatform dan atau multisistem. 22
• Float (M, D) Adalah sebuah angka floatingpoint yang tidak dapat unsigned. Panjang tampilan (M) dan jumlah desimal (D) dapat ditentukan.