•☺• Selamat Datang di Rumah Cerita 'Blognya mahasiswa TI yang lebih suka menulis cerita' <<<<<•☺•ECHY FACTS•☺•>>>>> Gue suka FC Barcelona •☺• Golongan darah gue A •☺• Lebih suka film genre Thriler daripada Horror •☺• Jangan lupa follow twitter Echy @cieEchy •☺• Echy itu Mandiri dalam arti sebenarnya dan juga dalam arti mandi sendiri •☺• Pengin punya Apartemen, moga kesampean #AMIN •☺• Penampilan Kampungan Wawasan Internasional •☺• Lebih suka ngelamun daripada ngelantur •☺•

Selasa, 25 Oktober 2011

Pengolahan Basis Data TI 10 A

PBD 1
PBD 2
PBD 3
PBD 4
PBD 6
PBD 5



Ringkasan Materi


Basis data terdiri dari dua kata : Basis dan Data
Basis > markas atau gudang, tempat bersarang atau berkumpul, dasar
Data > representasi fakta dunia nyata suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan dll direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasi

Basis Data didefinisikan sebagai berikut :
Himpunan kelompok data (arsip) yg saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
Kumpulan data yang saling berhubungan yang disimpan bersama-sama sedemikian rupa tanpa pengulangan yang tidak perlu, untuk memenuhi berbagai kebutuhan.
Kumpulan file/arsip-arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

Operasi-operasi dasar Basis Data :
Pembuatan Basis Data baru (Create Database)
Penghapusan basis data (Drop database)
Pembuatan File/Tabel baru ke suatu basis data (create table)
Penghapusan file/tabel dari suatu basis data (drop table)
Penambahan/pengisian data baru ke suatu file/tabel di basis data (Insert)
Pengambilan data dari sebuah file/tabel (retrieve/search)
Pengubahan data dari sebuah file/tabel (update)
Penghapusan data dari sebuah file/tabel(delete)

Objektif (Tujuan) Basis data:
1.Kecepatan dan Kemudahan (Speed)
Pemanfaatan basis data memungkinkan kita menyimpan, memanipulasi, menampilkan data dengan lebih cepat dan mudah.
2.Efisiensi ruang penyimpanan (Space)
Penekanan redudansi data dengan menerapkan sejumlah teknik pengkodean atau membuat relasi – relasi antar file, akan mengurangi pemakaian space di media penyimpanan.
3.Keakuratan (Accuracy)
Pemanfaatan kode dan relasi antar file dengan  aturan ketat berguna untuk menekan ketidakakuratan pemasukan data.
4.Ketersediaan (Availabitity)
Ketersediaan data dapat didukung dengan teknologi jaringan komputer, agar data dapat diakses.
5.Kelengkapan (Completeness)
Lengkap / tidaknya data yang kita kelola dalam sebuah basis data bersifat  relatif ( terhadap kebutuhan pemakai dan waktu). Basis data menyimpan data dan strukturnya. Untuk mengantisipasi perubahan kebutuhan data, maka basis data sebaiknya dirancang untuk dapat menambah data dan dapat juga merubah struktur basis data.
6.Keamanan (Security)
Penerapan kemanan basis data berkaitan dengan pemberian hak akses kepada user dengan tingkatan tertentu beserta operasi–operasi yang boleh dilakukan.
7.Kebersamaan Pemakaian (Sharability)
Kebersamaan pemakaian data umumnya ada dalam basis data yang menggunakan aplikasi multiuser.

SQL (Structured Query Language)
Bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose  Research Laboratory. SQL adalah bahasa yang bersifat request oriented dan bersifat non- prosedural. SQL juga bersifat non case sensitif.

SQL terdiri dari :
1.DDL  (Data  Definition  Language),  yaitu mendefinisikan data  yang  berhubungan  dengan pembuatan dan penghapusan objek seperti tabel, indeks, basis datanya. Misalnya CREATE, DROP, ALTER
2.DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya : INSERT, UPDATE, SELECT, DELETE
3.DCL (Data Control Language), yaitu bahasa yang berhubungan dengan pengendalian akses ke database. Misalnya : GRANT, REVOKE. 
4.DTL (Data Transaction Language), yaitu bahasa yang berhubungan dengan pengaturan transaksi yang terjadi di dalam database. Misalnya : COMMIT, ROLLBACK, ROLLFORWARD

Bagian SQL Server Management Studio:
1.Object Explorer 
Untuk menampilkan berbagai objek yang ada pada server
2.Property 
Menampilkan property dari objek yang dipilih
3.Query Editor
Jendela yang digunakan untuk membuat, melakukan editing dan mengeksekusi perintah-perintah T-SQL.
4.Web Browser
Menampilkan halaman HTML sebagai hasil dari Query Editor

Beberapa jenis tipe data SQL Server :
1.Tipe data Numerik
   Untuk meyimpan nilai angka (numerik).
   1.1.Bigint
         Disimpan dalam 8 byte memori. Jangkauan dari -2^63  hingga 2^63 -1
   1.2.Integer
         Disimpan dalam 4 byte memori. Jangkauan -2.147.483.648 hingga 2.147.483.648
   1.3.Smallint
         Disimpan dalam 2 byte memori. Jangkauan 32768 hingga 32767
   1.4.Tinyint
         Disimpan dalam 1 byte memori. Tidak memiliki nilai negatif (unsigned). Jangkauan dari 0 hingga 255
   1.5.Decimal (p,[s])
         p adalah precision yaitu jumlah angka yang ada di depan titik.
         s adalah angka yang ada dibelakang titik.
         Disimpan dalam 5 hingga 17 byte memori tergantung banyaknya digit yang masuk.
   1.6.Numeric (p,[s])
         Sama denga decimal
   1.7.Real
         Tipe data nilai pecahan. 
         Jangkauannya adalah - 3.40E + 38 to -1.18E - 38, 0 dan 1.18E - 38 to   3.40E + 38
2.Tipe  data karakter
   Untuk Menyimpan nilai karakter.
   2.1. Char[(n)]
          N adalah jumlah karakter yang akan ditampung. Tipe ini menyimpan nilai string dengan nilai tetap. 
          Nilai n dapat mencapai 8000.Tiap karakter dalam string menempati 1 byte.
   2.2. Varchar[(n)]
          Tipe data string dengan panjang tidak tetap. Nilai n dapat mencapai 8000.
   2.3. Nchar[(n)]
          Tipe data string dengan panjang tetap, tapi karakternya disusun memakai karakter unicode. 
          Panjang maksimal adalah 4000 karakter.
   2.4. Nvarchar[(n)]
          Tipe data string dengan panjang tidak tetap, tapi karakternya disusun memakai karakter unicode. 
          Panjang maksimal adalah 4000 karakter.
3.Tipe data temporal 
   Untuk menyimpan data tanggal dan waktu.
   3.1.Datetime
         Tipe data tanggal dan waktu dalam bentuk integer dengan panjang 4 byte. 
         Data tanggal jangkauannya dari 01-01-1753 hingga 31-12-9999.
   3.2.Smalldatetime
         Penyimpanan datanya sebesar 2 byte memori,
         dengan jangkauan tanggalnya adalah 01-01-1900 hingga 06-06-2079.
   3.3.Time
         Untuk meyimpan waktu dengan penyimpanan sebesar 3 hingga 5 byte
   3.4.Date
         Untuk meyimpan data tanggal dengan penympanan sebesar 3 byte dan jangkauan tanggalnya adalah 01-01-0001 hingga 31-12-9999.

INSERT
Perintah ini digunakan untuk menambah data/ record ke dalam tabel
Sintaks :
INSERT INTO nama_tabel (field1, field2, fieldN) 
VALUES (value1, value2, valueN)
Atau
INSERT INTO nama_tabel 
VALUES (field1, field2, fieldN) 

UPDATE
Perintah ini digunakan untuk mengubah data/ record dari tabel
Sintaks :
UPDATE nama_tabel SET nama_kolom =’nilai_data_baru’ WHERE [kondisi]
Contoh : UPDATE cabang_bank 
              SET alamat_cabang = ‘Jl. Kaliurang KM 9.5’
              WHERE kode_cabang = ‘BRUS’ 

DELETE
Perintah ini digunakan untuk menghapus data/ record dari tabel
Sintaks :
DELETE FROM nama_tabel WHERE [kondisi]
 Contoh :
DELETE FROM cabang_bank

SELECT:
Perintah ini digunakan untuk menampilkan baris-baris data dari tabel
Sintaks :
SELECT [*|  field1, field2, field3]
 FROM  nama_tabel
WHERE  [Condition]
GROUP BY[group_by_expression]
HAVING [Condition]
ORDER BY  [order_expression] [ASC|DESC]

Menampilkan beberapa Field dalam satu tabel:
Sintaks :
SELECT [field1, field2, field3]
FROM Nama_Tabel
Contoh :
Select  nama_nasabah, alamat_nasabah From Nasabah

Menampilkan Data dengan satu kondisi
Sintaks :
SELECT  *  FROM Nama_Tabel
WHERE [kondisi]
Contoh :
SELECT  nama_nasabah, alamat_nasabah FROM Nasabah
WHERE id_nasabah = 1

Menampilkan Data dengan dua atau lebih kondisi
Untuk menampilkan data dengan dua atau ebih kondisi digunakan operator logika NOT, AND, OR, BETWEEN, LIKE, IN, SOME, ANY,  ALL
Contoh :
SELECT * FROM Nasabah
WHERE id_nasabah=1 AND nama_nasabah = ‘Neneng’

Menampilkan Field dengan Column Alias
Sintaks :
SELECT Field1 AS ‘FIELD KE 1’, Field2 AS ‘FIELD KE 2’ FROM Nama_Tabel
 Contoh :
SELECT id_Nasabah AS ‘ID NASABAH’,  nama_Nasabah AS ‘NAMA NASABAH’ FROM Nasabah

Menampilkan Record secara Terurut
Sintaks :
SELECT field1, field2 FROM Tabel
ORDER BY nama_field [ASC/DESC]
Atau
SELECT field1, field2 FROM Tabel
WHERE Kodisi
ORDER BY nama_field [ASC/DESC]

Menampilkan Record secara berkelompok
Sintaks :
SELECT field FROM Tabel
GROUP BY field
 Contoh :
SELECT  Kode_Cabang FROM Rekening
GROUP BY kode_cabang

HAVING
Perintah ini digunakan untuk mendefinisikan sebuah kondisi yang diterapkan  pada kelompok data. Perintah Having memiliki kesamaan fungsi dengan Where.
Sintaks :
SELECT Field FROM Tabel
GROUP BY field
HAVING Kondisi

PENCARIAN STRING
Sintaks :
SELECT * FROM Tabel
WHERE field LIKE ‘pola’
Karakter yang digunakan dalam membentuk pola :
1. % (persen) untuk menspesifikasikan karakter berjumlah banyak
2. _ (underscore) untuk menspesifikasikan sebuah karakter
Contoh :
SELECT * FROM Nasabah
WHERE nama_nasabah LIKE ‘%arif%’
ATAU
SELECT * FROM  nasabah
WHERE nama_nasabah LIKE ‘_rif’

Foreign Key
Adalah Field atau sekelompok field pada sebuah tabel yang memiliki data yang sama dan cocok dengan Primary Key pada tabel lainnya. Batasan Foreign Key hanya merujuk field-field yang memiliki batasan Primary Key dan Unique pada tabel yang dirujuk.
Sintaks :
[CONSTRAINT nm_constraint]
[FOREIGN KEY ({nm_field1},....)]
REFERENCES nm_tabel ({nm_field1},....)
[ON DELETE {NO ACTION | CASCADE | SET NULL | SET DEFAULT}]
[ON UPDATE {NO ACTION | CASCADE | SET NULL | SET DEFAULT}]

ON DELETE – ON UPDATE
Jika kita mencoba untuk menghapus data pada kedua tabel yang saling berelasi dan menghasilkan sebuah ketidakkonsistenan pasangan data maka sistem akan memunculkan pesan error. Kecuali kita menghapus data pada child tabel, database belum tentu memunculkan pesan error.
SQL Server akan memberikan beberapa pilihan pada usr tentang bagaimana seharusnya server bereaksi terhadap apdate atau penghapusan data. 

NO ACTION, dapat memodifikasi data di parent table yang tidak memiliki pasangan di foreign key child tabel.
CASCADE, dapat memodifikasi semua data di parent table. Data diupdate atau dihapus dari child table jika data yang terkait pada primary key telah diupdate atau dihapus dari parent table.
SET NULL, Jika ada modifikasi data (Update atau Delete) di parent table, maka database akan men-setting yang terkait foreign key child table menjadi NULL.
SET DEFAULT, hampir sama dengan SET NULL, semua data yang ada pada foreign key  akan disetting pada nilai default.

OPERATOR HIMPUNAN (SET)
1. UNION
   Operator ini digunakan untuk mendapatkan himpunan gabungan dari dua buah himpunan yang ada. Jika dua tabel digabugkan maka anggotanya adalah semua field dari kedua tabel tersebut.
Contoh :
Select nip, nm_kar, alamat 
From Pegawai 
Where departemen=‘keuangan’
UNION ALL
Select nip, nm_kar, alamat 
From Pegawai 
Where nm_kar LIKE ‘t%’
2. INTERSECT
Intersect dari dua tabel adalah himpunan yang memiliki field yang ada pada kedua tabel.
Contoh :
Select kd_brg From Barang Where hrg_jual<100000
INTERSECT
Select kd_brg
From Transaksi2
3. EXCEPT
Operator ini memiliki fungsi untuk mengembalikan sekumpulan nilai yang ada di tabel pertama tapi tdak ada pada tabel kedua.
Contoh :
Select kd_brg From Barang
EXCEPT
Select kd_brg From transaksi

JOIN ANTAR TABEL
Merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih.
Terdapat 3 jenis operasi Join, yaitu :
1.Cross (Cartesian Join)
Menghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang digabungkan baik yang berpasangan maupun yang tidak berpasangan.
Contoh :
Use Bank
Select * From nasabah, cabang_bank
Atau
Select nasabah.nama_nasabah, cabang_bank.nama_cabang From nasabah, cabang_bank
2.Inner Join
Join jenis ini akan menghasilkan output berupa kombinasi baris-baris yang berpasangan saja.
Contoh:
Select * From Nasabah A, nasabah_has_rekening B 
Where A.id_nasabah=B.id_nasabah
3.Outer Join
Hampir sama dengan Inner Join, hanya baris yang tidak memiliki pasangan tetap akan dimunculkan. Juga dapat digunakan penulisan memakai LEFT OUTER JOIN, RIGHT OUTER JOIN dan FULL OUTER JOIN
  3.1.Left Outer Join
      Contoh Outer Join untuk Left Join
      Select * From nasabah a LEFT JOIN             nasabah_has_rekening b 
      ON a.id_nasabah=b.id_nasabah
  3.2.Contoh Outer Join untuk Right Join
      Select * From nasabah a RIGHT JOIN             nasabah_has_rekening b 
      ON a.id_nasabah=b.id_nasabah
  3.3.Contoh Outer Join untuk Full Join
      Select * From nasabah a FULL JOIN             nasabah_has_rekening b 
      ON a.id_nasabah=b.id_nasabah

VIEW
View adalah sebuah virtual tabel yang isinya didefinisikan melalui perintah query (SQL).Perintah query tersebut dapat berasal dari satu atau beberapa tabel atau dari view-view yang lainnya.
Sintaks :
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH <view_attribute> [ ,...n ] ] AS select_statement [ ; ] [ WITH CHECK OPTION ] <view_attribute> ::= 
{ [ ENCRYPTION ]   
  [ SCHEMABINDING ]    
  [ VIEW_METADATA ]     }
Atau
CREATE VIEW (Daftar Field)
AS  Ekspresi_Select
Contoh :
CREATE VIEW vNasabahKusumaNegara
AS
SELECT * FROM nasabah
WHERE alamat_nasabah LIKE 'Jl. Kusumanegara%'
GO

CREATE VIEW vNasabahHasRekening AS 
SELECT b.no_rekening, a.nama_nasabah, a.alamat_nasabah FROM nasabah a, nasabah_has_rekening b, rekening c WHERE b.no_rekening = c.no_rekening AND 
a.id_nasabah = b.id_nasabah 
GO 
1.Untuk melihat hasilnya jalankan dengan perintah Select :
Select * From vNasabahKusumanegara
Select * From vNasabahHasRekening
2.View juga dapat dibuat berdasarkan view yang lain.
CREATE VIEW vNasabahHasRekening101 AS 
SELECT no_rekening, nama_nasabah, alamat_nasabah 
FROM vNasabahHasRekening Where no_rekening=101
GO

STORED PROCEDURE
Stored procedure (stor-proc) merupakan sekumpulan perintah-perintah SQL yang tersimpan dengan nama tertentu dan diproses sebagai sebuah kesatuan atau sebagai  sebuah  sub-program  yang tersimpan di database.
Sintaks :
CREATE PROCEDURE nama_proc @parameter_1 TipeData_1, ..., 
@parameter_n TipeData_n OUTPUT 
AS 
perintah_perintah_SQL 

Keuntungan menggunakan stor-proc:
1.Pemrograman menjadi lebih modular
Prosedur hanya dibuat sekali, disimpan dalam database, dan dapat dipanggil berulang  kali  dari  program/  interface  seperti  visual  basic,  delphi, dll (reusability).  Stor-proc  dapat  dimodifikasi  tanpa  harus  mengubah  kode program yang memanggil stor-proc tersebut (modifiable)
2.Eksekusi program akan menjadi lebih cepat 
Menjalankan program untuk mengakses database tentu saja akan lebih cepat jika dilakukan didalam database itu sendiri
3.Mengurangi lalu lintas jaringan
Efek dari penggunaan stor-proc akan lebih terasa jika menggunakan aplikasi client /  server yang mengakses database di komputer (host) lain, dengan hanya mengirimkan stor-proc saja jauh lebih cepat prosesnya daripada mengirimkan baris-baris perintah SQL yang ada di kode program interface (perintahperintah query yang diketikkan di VB).
4.Dapat digunakan untuk mekanisme keamanan
User dapat diberi hak untuk menjalankan stor-proc walaupun user tersebut tidak memiliki hak untuk menjalankan perintah-perintah query yang ada didalamnya.

Stored Procedure tanpa Parameter
Contoh perintah untuk membuat Stored Procedure yang menampilkan semua record yang ada di tabel Nasabah.
CREATE PROCEDURE sp_ShowNasabah
AS
SELECT * FROM NASABAH
GO
Untuk melihat hasil stored Procedure tersebut :
EXEC sp_ShowNasabah

Stored Procedure dengan Parameter
Contoh perintah untuk membuat Stored Procedure  dengan parameter masukan id_nasabah.
CREATE PROCEDURE sp_IDNasabah
@IdNasabah Int
AS
SELECT * FROM Nasabah
WHERE Id_Nasabah=@IdNasabah
GO
Menjalankannya ketikan perintah berikut :
EXEC sp_IdNasabah  4

Mengubah Stored Procedure :
ALTER PROCEDURE sp_ShowNasabah
AS
SELECT Id_Nasabah AS ‘ID’, Nama_Nasabah AS ‘NAMA NASABAH’, Alamat_Nasabah AS  ‘ALAMAT’ FROM Nasabah

Menghapus Stored Procedure
DROP PROCEDURE sp_ShowNasabah

Perintah Stored Procedure menggunakan perintah Transaction
Use Bank
Create Procedure sp_inp_Cabang
@kode char(5), @NamaCbg Varchar(50), @AlmCbg Varchar(50)
AS
BEGIN TRANSACTION
INSERT INTO Cabang_Bank VALUES(@kode, @NamaCbg, @AlmCbg)
IF @@Error <> 0
  BEGIN
ROLLBACK TRANSACTION
  END
ELSE
  BEGIN
 COMMIT TRANSACTION
 END







Tidak ada komentar:

Posting Komentar

Related Posts Plugin for WordPress, Blogger...