Desain Fisik Basis Data & Basic Query
Konsep Desain Fisik Basis Data Basic Query
Proses memilih struktur penyimpanan dan cara akses file database sehingga memperoleh aplikasi database performance yang baik. Menentukan implementasi database Disesuaikan dengan DBMS yang akan digunakan Tujuan: Mendapatkan efisiensi penyimpanan data Dengan tercapainya efisiensi maka diharapkan sistem informasi yang menggunakan database dapat memberikan tanggapan yang cepat kepada pemakai yang berinteraksi dengan sistem tersebut Desain Fisik Basis Data
Pemilihan Rancangan Fisik 1. Response time : Waktu akses yang digunakan untuk menggunakan data sebagai informasi 2. Space utility : Jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur jalur akses. 3. Transaction throughput : Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data
Kebutuhan untuk membuat perancangan fisik: Relasi-relasi yang telah dinormalisasi, termasuk perkiraan jumlah baris dalam setiap relasi. Definisi untuk setiap atribut yang menyangkut nilai maksimum yang dapat ditangani oleh atribut. Penjelasan tentang tempat, waktu, dan bahkan frekuensi data yang digunakan, dimasukkan, diubah, dan dihapus. Selain itu juga diperlukan mengidentifikasi hak para pemakai terhadap data. Kebutuhan waktu tanggapan yang dikehendaki oleh pemakai dan aktifitas lain yang terkait dengan data, seperti backup, recovery, integritas dan retensi. Deskripsi mengenai teknologi yang digunakan untuk mengimplementasikan database, terutama pada DBMS yang dipakai.
Tipe Data GenericAccessSQL ServerOracle Text fixed variable Unicode memo XML NA Short Text Long Text NA char varchar nchar, nvarchar nvarchar(max) Xml CHAR VARCHAR2 NVARCHAR2 LONG XMLType Number Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No Byte Integer Long NA Decimal Float Double Currency Yes/No tinyint smallint int bigint decimal(p,s) real float money bit INTEGER NUMBER(38,0) NUMBER(p,s) NUMBER, FLOAT NUMBER NUMBER(38,4) INTEGER Date/Time Interval Date/Time NA datetime smalldatetime interval year … DATE INTERVAL YEAR … ImageOLE Objectvarbinary(max)LONG RAW, BLOB AutoNumber Identity rowguidcol SEQUENCES ROWID 6
Ukuran Tipe Data Data TypesSize AccessSQL ServerOracle Text (characters) fixed variable memo XML K 8 K, 4 K 2 G, 1 G 2G 2 K 4 K 2 G Numeric Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No 255 +/ /- 2 B NA p: /- 1 E 38 +/- 1 E 308 +/ trillion 0/ / /- 2B 18 digits +/- 1 E 38, p: 1 to 38 +/- 1 E 38 +/- 1 E 308 +/ trillion (8 bytes) 0/1 38 digits p: 38 digits s: -84 to 127; p: 1 to digits Date/Time1/1/100 – 12/31/9999 (1 sec)1/1/1753 – 12/31/9999 (3 ms) 1/1/1900 – 6/6/2079 (1 min) 8 bytes 1/1/-4712, 1/31/9999 (sec) ImageOLE Object2 GB2 GB, 4 GB AutoNumberLong (2 B)2 B or 18 digits with bigintColumn: 38 digit maximum 7
Rentang Nilai Tipe DataData
SQL Standarisasi untuk Relational Database Management Systems (RDBMS) SQL-92 Standard. Bertujuan: Menetapkan syntax untuk definisi dan manipulasi data Menentukan struktur data Memungkinkan portability Menetapkan standar minimal dan standar lengkap Mengizinkan peningkatan standar yang diberikan
Keuntungan Standarisasi Bahasa Relational Reduced training costs Productivity Application portability Application longevity Reduced dependence on a single vendor Cross-system communication
SQL Environment Catalog – a set of schemas that constitute the description of a database Schema – The structure that contains descriptions of objects created by a user (base tables, views, constraints) Data Definition Language (DDL): – Commands that define a database, including creating, altering, and dropping tables and establishing constraints Data Manipulation Language (DML) – Commands that maintain and query a database Data Control Language (DCL) – Commands that control a database, including administering privileges and committing data
Figure 7-1: A simplified schematic of a typical SQL environment, as described by the SQL-92 standard
Figure 7-4: DDL, DML, DCL, and the database development process
Membuat Tabel Steps in table creation: 1.Identify data types for attributes 2.Identify columns that can and cannot be null 3.Identify columns that must be unique (candidate keys) 4.Identify primary key-foreign key mates 5.Determine default values 6.Identify constraints on columns (domain specifications) 7.Create the table and associated indexes
CREATE TABLE `informasi_mahasiswa`.`nilai_MK` ( `NIM` VARCHAR( 8 ) NOT NULL, `Nama_MHS` VARCHAR( 50 ) NOT NULL, `Alamat` VARCHAR( 100 ) NOT NULL, PRIMARY KEY ( `NIM` ) ) ENGINE = MYISAM ;
INSERT STATEMENT Menambahkan data pada tabel Menambahkan data pada tabel mahasiswa INSERT INTO `informasi_mahasiswa`.`mahasiswa` (`NIM`, `Nama_MHS`, `Alamat`) VALUES ('123', 'John', 'Semarang'), ('124', 'Ani', 'Semarang'), ('125', 'Arif', 'Semarang'); INSERT INTO `informasi_mahasiswa`.`nilai_mk` (`NIM`, `Kode_MK`, `Nilai`) VALUES ('125', 'Math', '90'); Pertanyaan: Bagaimana perintah insert ketika ada nilai null?
Delete Statement Menghapus semua baris pada tabel DELETE FROM `informasi_mahasiswa`.`nilai_mk` Menghapus baris dengan ketentuan DELETE FROM `informasi_mahasiswa`.`nilai_mk` WHERE `nilai_mk`.`NIM` = '125' LIMIT 1 Menghapus entitas DROP TABLE `nilai_mk
Basic Select Statement Contoh: SELECT * FROM `mahasiswa` (Memilih semua kolom yang berada pada tabel mahasiswa) SELECT NIM,Nama_MHS FROM `mahasiswa` (Memilih kolom yang lebih spesifik)
Arithmatic Expression
SELECT NIM, Nilai, Nilai -5 FROM `nilai_mk` SELECT NIM, Nilai, 10*Nilai -5 FROM `nilai_mk` SELECT NIM, Nilai, 10*(Nilai -5) FROM `nilai_mk` Parentheses Apa Perbedaannya?
Menggunakan Nilai Null SELECT Kode_MK, Nilai FROM `nilai_mk` SELECT Kode_MK, Nilai, 10*Nilai -5 FROM `nilai_mk` Apa yang terjadi pada value null?
SELECT Nama_MHS AS nama FROM `mahasiswa` WHERE 1 SELECT Nama_MHS “nama” FROM `mahasiswa` WHERE 1
Duplikasi Data Tampilan queries secara default adalah keseluruhan nilai termasuk data yang berulang. Menampilkan data agar perulangan nilai tidak terlihat adalah dengan cara menambahkan perintah DISTINCT pada statement SELECT SELECT DISTINCT Nilai FROM `nilai_mk` WHERE 1
Menggunakan Perintah Select dengan batasan tertentu
Comparison Condition
Rules of Presedence
Menyusun Value Pada Tabel dengan urutan yang ditentukan
Tugas: Buat Database sesuai dengan desain ERD yang dibuat dengan syarat: Minimal terdiri dari 4 Tabel dan saling berelasi Harus terdapat 1 tabel yang berisi username dan password Harus terdapat 1 tabel berupa tabel transaksi Setiap tabel minimal berisi 10 Nilai Simpan dalam format SQL Terapkan Query pada database yang dibuat Screenshoot hasil query Jelaskan fungsi query tersebut pada database anda.