modul sistem basis data

Post on 03-Jul-2015

1.097 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Modul Basis Data Teknik Informatika Unas

TRANSCRIPT

MODUL REFERENSI SISTEM BASIS DATA

SQLMySQL on Ubuntu

DEPARTEMEN TEKNIK INFORMATIKAUNIVERSITAS NASIONAL

              Update 8­5­2011

KATA PENGANTAR

       Banyak di kalangan mahasiswa tentunya tidak menyadari, betapa pentingnya mengasah kembali matakuliah yang berhubungan dengan software development yaitu 'basis data' . Seringkali mahasiswa mengejar skil bahasa pemrograman tanpa mengasah kembali kemampuan memanajemen data. Ini kemampuan dasar yang mesti dibekali. Dengan begitu kita dapat membangun aplikasi yang tentunya menggunakan basis data. Apapun bahasa pemrogramannya,  databasenya SQL.

Penyusun 

Slamet Nurhadi

Informasi:Sistem Operasi : Linux Ubuntu 10.10Database : MySql Server 5.1

Cara menginstall : $ sudo apt­get install mysql­server

Masuk ke dalam server: $ mysql ­u root ­p masukan password jika anda menggunakannya.

BAB 1PENDAHULUAN SQL

Jenis SQL:1.Interactive => langsung dapat dioperasikan2.Embedded => disisipkan ke dalam  program

Pengelompokan statement SQL

1.(DDL) Data definition Language

CREATE 

DATABASE

 DROPTABLE

INDEX

VIEW

ALTER TABLE

2.(DML) Data Manipulation LanguageINSERT, SELECT, UPDATE, DELETE

3.Data AceessGRANT, REVOKE

4.Data IntegrityRECOVER TABLE

5.AuxiliaryUNLOAD, LOAD,  RENAME COLUMN

MEMBUAT DATABASE

Sintaks : CREATE DATABASE nama_database;

contoh : CREATE DATABASE DatabasePertamaku;

MENGHAPUS DATABASE

Sintaks : DROP DATABASE nama_database;

contoh : DROP DATABASE DatabasePertamaku;

MELIHAT DATABASE sintaks: show databases;

MEMBUAT TABLE

Sintaks : CREATE TABLE NamaTabel (NamaKolom1 TipeDataKolom1, NamaKolom2 TipeDataKolom2);

contoh : CREATE TABLE Teman (nama char(10), alamat varchar(50), email char(20));

MELIHAT TABLE

sintaks: show tables;

MENGHAPUS TABEL

sintaks: DROP TABLE NamaTabel;

Contoh: DROP TABLE Teman;

DESAIN DATABASE

Database Keanggotaan club Film yang berisi keanggotaan yang lengkap, Mungkin anda tahu bagaimana aktifitas Keanggotaan club seperti Meeting dan Attend. Dan membagi 2 bagian (pemisahan tabel) menjadi seperti ini, informasi keanggotaan berisi sebagai berikut:

Nama LengkapTanggal LahirAlamatEmailTanggal Bergabung

dan, daftar aktifitas pertemuan, lokasi dan siapa yang menghadiri. Berisi informasi sebagai berikut:

Tanggal PertemuanLokasiMember ini hadir?

Jika anda hanya membuat digabungkan tabel yang ada, maka akan terlihat seperti ini

Nama LengkapTanggal LahirAlamatEmailTanggal BergabungTanggal PertemuanLokasiMember ini hadir?

Jika Informasi diatas dijadikan kolom pada tabel maka akan menjadi seperti ini

Nama Tgl.Lahir Alamat Email Tgl. Bergabung

Tgl. Petemuan

Lokasi Member hadir?

Adi 10/02/90 jl.Manggis

adi@mail.com

01/01/11 02/04/11 Semarang Y

Dian 11/04/90 jl.Durian dian@mail.com

05/12/10 02/04/11 Semarang Y

Andre 02/05/90 jl.Jambu andre@mail.com

08/05/10 02/04/11 Semarang Y

Bagaimana juga kolom ini bermasalah, bagaimana jika member menghadiri setiap pertemuan ?

Nama Tgl.Lahir Alamat Email Tgl. Bergabung

Tgl. Pertemuan

Lokasi Member hadir?

Adi 10/02/90 jl.Manggis

adi@mail.com

01/01/11 02/04/11 Semarang Y

Adi 10/02/90 jl.Manggis

adi@mail.com

01/01/11 05/05/11 Yogya Y

Dian 11/04/90 jl.Durian

dian@mail.com

05/12/10 02/04/11 Semarang N

Dian 11/04/90 jl.Durian

dian@mail.com

05/12/10 05/05/11 Yogya Y

Andre 02/05/90 jl.Jambu andre@mail.com

08/05/10 02/04/11 Semarang Y

Andre 02/05/90 jl.Jambu andre@mail.com

08/05/10 05/05/11 Yogya Y

Apakah ini masalah ?Pertama ketidakpastian data terduplikasi (ganda). Setiap waktu Pertemuan anda butuh pencatatan yang tidak hanya detail pertemuan tapi juga informasi member yang detail.

Membagi menjadi 2 bagian tabel

berisi member detail

Nama LengkapTanggal LahirAlamatEmailTanggal Bergabung

berisi menghadiri pertemuan

Nama LengapTanggal PertemuanLokasiMember ini hadir?

Jika dibuat tabelnya akan terlihat seperti ini 

Tabel member

Nama Tgl.Lahir Alamat Email Tgl. Bergabung

Adi 10/02/90 jl.Manggis adi@mail.com 01/01/11

Dian 11/04/90 jl.Durian dian@mail.com 05/12/10

Andre 02/05/90 jl.Jambu andre@mail.com 08/05/10

Tabel Pertemuan

Nama Tgl. Pertemuan

Lokasi Member hadir?

Adi 02/04/11 Semarang Y

Adi 05/05/11 Yogya Y

Dian 02/04/11 Semarang N

Dian 05/05/11 Yogya Y

Andre 02/04/11 Semarang Y

Andre 05/05/11 Yogya Y

Disini ada 2 buah tabel: tabel member dan tabel pertemuan. Pada tabel member detail tidak boleh ada yang terduplikasi, dan hanya boleh kolom “nama” yang berlebih, yang mana untuk menglink-an 2 tabel bersamaan

MEMBUAT SEBUAH CONTOH DATABASE

Jika anda sudah membuat nama Database maka gunakan nama database yang tersedia dan buatlah tabel sebagai berikut

saya menggunakan nama database dengan nama DatabasePertamaku.

Menggunakan Database

Sintaks : use DatabasePertamaku

dan sekarang buat tabel seperti gambar dibawah ini

buat tabel dengan nama MemberDetails dengan nama kolom sebagai berikut

Sintaks : CREATE TABLE NamaTabel (NamaKolom1 TipeDataKolom1, NamaKolom2 TipeDataKolom2);

Kolom Tipe Data

MemberId integer

FirstName nvarchar(50)

LastName nvarchar(50)

DateOfBirth date

Street varchar(100)

City varchar(75)

State varchar(75)

ZipCode varchar(12)

Email varchar(200)

DateOfJoining date

Kemudian buat tabel Attendance dengan nama kolom sebagai berikut

Kolom Tipe Data

MeetingDate date

Location varchar(200)

MemberAttended char(1)

MemberId integer

Kemudian buat tabel Film dengan nama kolom sebagai berikut

Kolom Tipe Data

FilmId integer

FilmName varchar(100)

YearReleased integer

PlotSummary varchar(2000)

AvailableOnDVD char(1)

Rating integer

CategoryId integer

DELETE FROM MemberDetails WHERE MemberId = 4;

Kemudian buat tabel Category dengan nama kolom sebagai berikut

Kolom Tipe Data

CategoryId integer

Category varchar(100)

Kemudian buat tabel FacCategory dengan nama kolom sebagai berikut

Kolom Tipe Data

CategoryId integer

MemberId integer

Setelah anda membuat tabel maka lihatlah semua tabel pada database anda. Setelah itu tabel yang telah dibuat. masukan data pada setiap kolom. Semuanya akan dibahas pada bab 2.

BAB 2ENTER DATA SQL

Sintaks : INSERT INTO NamaTabel (NamaKolom) VALUES (DataValue);

contoh : INSERT INTO Category (CategoryId, Category) VALUES (1, 'Thriller');

Lalu lanjutkan sehingga menjadi seperti ini

INSERT INTO Category (CategoryId, Category) VALUES (2, 'Romance');

INSERT INTO Category (CategoryId, Category) VALUES (3, 'Horror'); 

INSERT INTO Category (CategoryId, Category) VALUES (4, 'War'); 

INSERT INTO Category (CategoryId, Category) VALUES (5, 'Sci­fi'); 

 INSERT INTO Category (CategoryId, Category) VALUES (6, 'Historical') 

MENGINSERT DATA BARUINSERT INTO MemberDetails ( MemberId, FirstName, LastName, DateOfBirth, Street, City, State, ZipCode, Email, DateOfJoining ) 

VALUES ( 1, ‘Katie’, ‘Smith’, ‘1977­01­09’, ‘Main Road’, ‘Townsville’, ‘Stateside’, ‘123456’, ‘katie@mail.com’, ‘2004­02­23’ ); 

INSERT INTO MemberDetails ( MemberId, 

FirstName, LastName, DateOfBirth, Street, City, State, ZipCode, Email, DateOfJoining ) VALUES ( 2, ‘Bob’, ‘Robson’, ‘1987­01­09’, ‘Little Street’, ‘Big City’, ‘Small State’, ‘34565’, ‘rob@mail.com’, ‘2004­03­13’ ); 

INSERT INTO MemberDetails ( MemberId, FirstName, LastName, DateOfBirth, Street, City, State, ZipCode, Email, DateOfJoining ) VALUES ( 4, ‘Sandra’, ‘Gelis’, ‘1967­08­05’, ‘47 Upper Road’, ‘New Town’, ‘New State’, 

‘19122’, ‘sandra@gmail.com’, ‘2004­02­22’ ); 

Mysql browser dapat dijalankan di windows, silahkan anda mencari .exe nya.Jika anda ingin memakai Mysql browser pada Ubuntu anda cukup melakukan instalasi secara online dengan kode sebagai berikut:

 $ sudo apt­get install mysql­query­browser 

dan hasilnya sebagai berikut ini

MENGHAPUS RECORD PADA TABLE

Sintaks:

DELETE FROM MemberDetails WHERE MemberId = 4; 

INSERT INTO MemberDetails ( MemberId, FirstName, LastName, DateOfBirth, Street, City, State, ZipCode, Email, DateOfJoining ) VALUES ( 4, 'Steve', 'Gee', '1967­08­05', '45 Upper Road', 'New Town', 'New State','19122', 'steve@gee.com',

 '2005­04­22' ); 

Lalu tambahkan data membernya, lihat dibawah ini

 INSERT INTO MemberDetails      (    MemberId,     FirstName,     LastName,      DateOfBirth,      Street,      City,      State,      ZipCode,     Email,     DateOfJoining      )     VALUES     (     7,     'John',     'Jackson',     '1974­05­27',

     'Long Lane',     'Orange Town',     'New State',     '88992',     'jjackson@mailme.net',    '2005­11­21'     )     ;

mysql> INSERT INTO MemberDetails  (  MemberId,  FirstName,  LastName,  DateOfBirth,  Street,  City,  State,  ZipCode,  Email,  DateOfJoining  )  VALUES  ( 8, 'Jack', 'Jackson', '1754­06­09', 'Main Street', 'Big City', 'Mega State', '34566', 'jack@mail.com', '2005­06­02' );

mysql> INSERT INTO MemberDetails  (  MemberId,  FirstName,  LastName,  DateOfBirth,  Street,  

City,  State,  ZipCode,  Email,  DateOfJoining  )  VALUES  ( 9, 'Seymor', 'Bots', '1756­08­30', 'Long Street', 'Village', 'Platinum State', '65422', 'Seymor@mail.com', '2005­07­17' );

top related