Tugas Kelompok Diagram E_R
CONTOH DIAGRAM BASIS DATA ER PADA POLIKLINIK
StudiKasus-Poliklinik :
Asumsi
n Setiappasien yang akanmemeriksakankesehatanterdaftardalam data pasien
n Setiappasienmemilikicatatanmedikdaripenyakit yang pernahdiperiksakan, catatanmedikjugamenyimpanjenispenyakitdaripasien
n Setiapdoktermemilikicatatanmedikdaripasien-pasien yang telahdiperiksa
n Poliklinikmenanganitransaksipembelianobatdaripasien
Langkahlangkahpembuatan E-R diagram
ü Identifikasientitasdanatribut key untukmasing-masingentitas
ü Identifikasiseluruhrelasi
ü Identifikasiatribut non key (bukankunci) padaentitasdanrelasi
ü Identifikasibilangankardinalitas
Identifikasi entitas dan atribut key untuk masing-masing entitas
Entitas:
n Pasien : kodepasien,nama,alamat,telpon,tanggallahir
n Dokter : kodedokter,nama ,alamat,spesialis
n Catatan_medik :kodemedik,tanggalperiksa,resep
n Penyakit :kodepenyakit,namapenyakit
n Detail_penyakit :kode detail penyakit,nama detail penyakit
n Transaksi :kodetransaksi,tanggal,jumlah,total
n Obat :kodeobat,nama,tanggal,stok,harga
Identifikasi seluruh relasi:
v Pasiendengancatatanmedikrelasinyamempunyai
v Catatanmedikdengandokterrelasinyadimiliki
v Pasiendengantransaksirelasinyamelakukan
v Catatanmedikdengan detail penyakitrelasinyamencatat
v Detail penyakitdenganpenyakitrelasinya detail
v Transaksidenganobatrelasinyatransaksi
IdentifikasiBilangankardinalitas
v Pasiendengancatatanmedik: relationship : one to one
AtributPenghubung : kodepasien,kodemedik
v Catatanmedikdengandokter: relationship : many to one
AtributPenghubung : kodemedik,kodedokter
v Pasiendengantransaksi: relationship : one to one
AtributPenghubung : kodepasien,kodetransaksi
v Catatanmedikdengan detail penyakit: relationship : many to one
AtributPenghubung : kodemedik,kode detail penyakit
v Detail penyakitdenganpenyakit: relationship : many to one
AtributPenghubung : kode detail penyakit,kodepenyakit
v Transaksidenganobat relationship : many to one
AtributPenghubung : kodetransaksi,kodeobat
NORMALISASI DATABASE
NORMALISASI DATABASE
Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan efisien. Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal
Istilah penting dalam teknik normalisasi
1. Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu field yang dapat mewakili record.
2. Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon primary key.
3. Composite key. Kunci kandidat yang berisi lebih dari satu atribut
4. Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik
5. Alternate key. Candidate key yang tidak dipilih sebagai primary key
6. Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel
Keterangan :
1. Atribut kunci -> NIS
2. Candidate key -> NIS dan Nama
3. Composit key -> Nama bisa dibagi menjadi nama depan dan nama belakang. Alamat bisa dibagi menjadi jalan, kota, propinsi
4. Primary key -> NIS
5. Alternate key -> Nama
6. Foreign key -> NIS pada tabel nilai merupakan foreign key
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
Boyce-Code Normal Form (BCNF)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
FUNCTIONAL DEPENDENCY (FD)
Notasi: A à B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama
Notasi: A –> B atau A x –> B
Adalah kebalikan dari notasi sebelumnya
Aturan normalisasi
1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
· Mendefinisikan atribut kunci
· Tidak adanya group berulang
· Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
· Sudah memenuhi dalam bentuk normal kesatu
· Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
· Sudah berada dalam bentuk normal kedua
· Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
4. Boyce-Code Normal Form (BCNF)
· Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X à Y
· tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi
· Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.
5. Bentuk Normal Tahap (4th Normal Form / 4NF)
· Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
· Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
6. Bentuk Normal Tahap (5th Normal Form / 5NF)
· Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
· Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula
Contoh Kasus
Perancangan Basis data pengolahan nilai Mahasiswa S
Bentuk Unnormalized Form
Bentuk First Normal Form (1NF)
Bentuk Second Normal Form (2NF)
Tabel 1
Tabel 2
Tabel 3
Pada bentuk 1NF, masih terdapat ketidaktergantungan terhadap beberapa kolom (misal TTL tidak bergantung pada kode_matkul), sehingga tabel dipecah menjadi 3 bagian agar tabel-tabel tersebut dapat memiliki ketergantungan terhadapat kolom-kolomnya (misal NIM bergantung pada nama_mhs dan ttl).
Bentuk Third Normal Form (3NF)
Tabel 1 dan 2 sudah memenuhi criteria bantuk 3NF, namun tidak untuk tabel 3, karena bila kita ingin merubah value bobot dari nilai, maka kita akan melakukan perubahan pada banyak record/baris yang lainnya. Sehingga pada bentuk 3NF, tabel 3 dapat dipecah lagi menjadi 2 tabel agar memenuhi kriteria bentuk 3NF.
Tabel 3a
Tabel 3b
Bentuk Boyce-Codd Normal Form (BNF)
Dalam kasus ini, sebenarnya pada bentuk 3NF sudah memenuhi criteria sebagai tabel relasional yang dapat diimplementasikan pada RDBMS, tidak harus dalam bentuk BNF. Jadi bentuk BNF pun tidak mutlak dijadikan sebagai bentuk dalam RDBMS.
Bentuk BNF memiliki syarat harus memenuhi syarat ketergantungan fungsional dan ketergantungan transitif.
http://arusboelha.blogspot.com/2012/06/normalisasi-database.html
model data relasional
I. Pengertian Model Relasional, Contoh Tabel, dan Keterhubungannya.
Sebuah database relasional terdiri dari koleksi dari tabel-tabel, yang masing-masing diberikan nama yang unik. Sebuah baris dalam tabel merepresentasikan sebuah keterhubungan/relationship dari beberapa nilai yang ada.
Contoh tabel dan keterhubungannya :
II. Kelebihan Model Relasional
Model Relasional merupakan model data yang paling banyak digunakan saat ini. Hal ini disebabkan oleh bentuknya yang sederhana dibandingkan dengan model jaringan/network atau model hirarki. Bentuk yang sederhana ini membuat pekerjaan seorang programmer menjadi lebih mudah, yaitu dalam melakukan berbagai operasi data (query, insert, update, delete, dan lainnya).
III. Istilah-Istilah dalam Model Relasional
- Relasi
berdasarkan definisi matematika, adalah sebuah himpunan bagian dari perkalian kartesian dari sekumpulan domain. Dalam model relasional, relasi dapat direpresentasikan dengan tabel.
- Atribut
adalah kepala/header dari setiap kolom yang ada dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, atribut yang ada adalah NPM, Nama, dan Alamat.
- Tupel
adalah sebuah baris dalam tabel relasi. Berdasarkan contoh tabel MKUL sebelumnya, salah satu tupelnya adalah (KU122, Pancasila, 2).
- Domain
adalah sekumpulan nilai yang valid untuk setiap atribut yang ada dalam tabel relasi. Berdasarkan contoh tabel NILAI sebelumnya, domain dari atribut FINAL adalah angka 0 sampai 100.
- Derajat
adalah jumlah atribut yang ada dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, derajat dari relasinya adalah 3.
- Kardinalitas
adalah jumlah tupel yang ada dalam tabel relasi. Berdasarkan contoh tabel MKUL sebelumnya, kardinalitas dari relasinya adalah 3.
IV. Relational Keys
- Super Key
adalah sebuah atau sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, super key yang mungkin adalah (NPM), (NPM, Nama), (NPM, Alamat), (Nama, Alamat), dan (NPM, Nama, Alamat).
- Candidate Key
adalah super key yang himpunan bagian yang sebenarnya tidak ada yang menjadi super key juga. Berdasarkan contoh super key sebelumnya, candidate key yang mungkin adalah (NPM) dan (Nama, Alamat). Atribut Nama dan Alamat dapat dijadikan candidate key jika kombinasi keduanya bisa menjadi pengidentifikasi yang unik untuk sebuah tabel relasi.
- Primary Key
adalah candidate key yang dipilih sebagai pengidentifikasi unik untuk sebuah tabel relasi. Berdasarkan contoh candidate key sebelumnya, primary key yang dipilih adalah (NPM), karena nilai NPM sangat unik dan tidak ada 2 mahasiswa yang memiliki NPM yang sama.
- Alternate Key
adalah candidate key yang tidak dipilih sebagai primary key. Berdasarkan contoh candidate key sebelumnya, alternate key adalah (Nama, Alamat).
V. Relational Integrity Rules
- NULL
adalah nilai sebuah atribut yang tidak diketahui atau tidak ada pada sebuah tupel dalam tabel relasi. Misalnya pada contoh tabel MHS sebelumnya, seorang mahasiswa tidak diketahui alamatnya sehingga pada tupel yang mengidentifikasi mahasiswa tersebut nilai dari atribut alamat diisi dengan NULL.
- Entity Integrity
adalah sebuah peraturan integritas yang menyatakan bahwa setiap tabel relasi harus mempunyai sebuah primary key, dan atribut/sekumpulan atribut yang dipilih sebagai primary key harus mempunyai nilai dan nilai tersebut harus unik dan tidak NULL.
- Referential Integrity
adalah sebuah peraturan integritas yang menyatakan bahwa setiap atribut sebuah tabel relasi yang menunjuk ke tabel relasi lainnya harus merupakan hubungan yang valid. Berdasarkan contoh tabel MKUL dan NILAI sebelumnya, nilai atribut KDMK pada tabel NILAI harus merupakan data yang ada dan valid pada tabel MKUL yang ditunjuknya.
pengertian ddl dan dml
Konsep dan Pengertian DDL dan DML
Konsep SQL
QL (Structured Query Language) (baca: sequel) adalah salah satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrogramman level ke-3 (3rd GL), SQL adalah bahasa yang bersifat request oriented dan bersifat non-prosedural sehinggan lebih mudah untuk dipelajari karena sintaksis yang digunakan hampir menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi. Oleh karena itu, SQL lebih fleksibel dalam penggunaannya. Selain itu, SQL juga bersifat non case sensitif. Banyak vendor pembuat DBMS (Database Management System) yang saat ini menggunakan SQL sebagai standarisasi dalam produk mereka, seperti ORACLE, Microsoft SQL Server, PostGreSQL, dan MySQL.
SQL sendiri terbagi atas beberapa bagian, yaitu:
Tiga bagian utama SQL:
1.DDL (Data Definition Language), yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER.
2.DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya, INSERT, UPDATE, SELECT, dan DELETE.
Perintah SQL Standar dalam SQL Server 2000 (Transact SQL)
Berikut beberapa perintah dan fungsi yang sering digunakan di dalam Transact SQL.
Perintah - Keterangan
CREATE DATABASE - Membuat Database
ALTER DATABASE - Mengubah Database
DROP DATABASE - Membuat Database
CREATE TABLE - Membuat Tabel
ALTER TABLE - Mengubah struktur tabel
DROP TABLE - Menghapus tabel
CREATE VIEW - Membuat view
ALTER VIEW - Menghapus view
DROP VIEW - Menghapus view
CREATE PROCEDURE - Membuat stored procedure
ALTER PROCEDURE - Mengubah stored procedure
DROP PROCEDURE - Menghapus stored procedure
CREATE TRIGGER - Membuat trigger
ALTER TRIGGER - Mengubah trigger
DROP TRIGGER - Menghapus trigger
CREATE INDEX - Membuat index
DROP INDEX - Mengubah index
SELECT - Menampilkan data dari tabel
COMMIT - Menuliskan perubahan ke dalam disk
ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT yang terakhir.
Berikut beberapa fungsi yang sering digunakan di dalam Transact SQL.
Fungsi - Keterangan
SUM ( ) - Menjumlahkan record
AVG ( ) - Rata-rata nilai
MAX ( ) - Menampilkan nilai terbesar
MIN ( ) - Menampilkan nilai terkecil
COUNT ( ) - Menghitung jumlah record
SYSDATE ( ) - Menampilkan tanggal dari sistem
Dasar-dasar SQL
1.DDL (Data Definition Language)
Perintah - Keterangan
CREATE TABLE - Membuat tabel
CREATE INDEX - Membuat index
ALTER TABLE - Mengubah struktur tabel
DROP TABLE - Menghapus tabel
DROP INDEX - Menghapus index
GRANT - Memberikan hak akses
REVOKE - Menghapus hak akses
1.DML (Data Manipulation Language)
Perintah - Keterangan
SELECT - Menampilkan record dari tabel atau view
INSERT - Menyisipkan record ke dalam tabel
UPDATE - Menghapus record dari tabel
DELETE - Menghapus record dari tabel
COMMIT - Menuliskan perubahan ke dalam disk
ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir
Database Languange
DBMS merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berinteraksi/komunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai bahasa basis data yang terdiri dari atas sejumlah perintah(statment) yang diformulasikan dan dapat diberikan user dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi/pekerjaan tertentu.
Sebuah basis data biasanya dapat dipilih ke dalam 2 bentuk yaitu:
1. Data Definition Language(DDL)
2. Data Manipulation Languange(DML)
1. DDL
Struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan didefinisikan dengan bahasa khusus yang disebut DDL. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data
2. DML Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa:
a. Penyisipan/Penambahan data baru ke suatu basis data
b. Penghapusan data dari suatu basis data
c. Pengubahan data dari satu basis data
Pengertian Number, type data pada Ms. Access, type data mysql
pengertian nymber
Dalam Ms. Access terdapat beragam tipe data yang digunakan untuk merancang tabel, adapun tipe datanya yaitu:
- Text : merupakan tipe data yang berupa huruf, angka, karakter khusus atau gabungan ketiganya. Maksimum 255 karakter
- Number : data dalam bentuk angka dengan pilihan field size yang terdiri dari(Byte, Integer, Long Integer, Single, Double, General Number, Currency, Standard, Percent, Scientific)
- Date/Time : semua data dalam bentuk tanggal dan waktu
- Currency : data angka yang diformat dalam bentuk mata uang
- AutoNumber : menampilkan nomor urut dengan otomatis
- Yes/No : data dalam bentuk logika True/False, On/Off
- OLE Object (Object Linking and Embedding) : menyimpan data dalan bentuk gambar
- Hyperlink : digunakan sebagai alamat hyperlink (dalam jaringan web)
- Lookup wizard) : field yang mempunyai pilihan isi data dalam bentuk daftar
Primary Key : field yang isi datanya bersifat unik yang artinya berisi data yang tidak boleh kembar atau mengalami pengulangan.
Tipe Data MySQL
Mengenal berbagai Tipe Data
Seringkali pada saat kita membuat sebuah database dan membuat fields yang ada didalamnya, kita kebingungan dalam memilih tipe data apa yang akan digunakan. Pada kesemapatan kali ini saya akan memberitahukan beberapa buah tipe data yang saya baca dari sebuah buku. Tipe data yang akan saya jelaskan berikut ini adalah tipe data yang terdapat pada MySQL.
1. Tipe data untuk bilangan
No |
Tipe Data |
Keterangan |
1. |
TINYINT |
Ukuran 1 byte. Bilangan bulat terkecil, |
2. |
SMALLINT |
Ukuran 2 byte. Bilangan bulat dengan |
3. |
MEDIUMINT |
Ukuran 3 byte. Bilangan bulat dengan |
4. |
INT |
Ukuran 4 byte. Bilangan bulat dengan |
5. |
INTEGER |
Sama dengan INT. |
6. |
BIGINT |
Ukuran 8 byte. Bilangan bulat dengan |
7. |
FLOAT |
Ukuran 4 byte. Biilangan pecahan. |
8. |
DOUBLE |
Ukuran 8 byte. Bilangan pecahan. |
9. |
DOUBLE PRECISION |
Ukuran 8 byte. Bilangan pecahan berpresisi |
10. |
REAL |
Ukuran 8 byte. Sinonim dari DOUBLE. |
11. |
DECIMAL(M,D) |
Ukuran M byte. Bilangan pecahan. Misalnya |
12. |
NUMERIC(M,D) |
Ukuran M byte. Sama dengan Decimal. |
2. Tipe data untuk tanggal dan jam
No |
Tipe |
Keterangan |
1. |
DATETIME |
Ukuran 8 byte. Kombinasi tanggal dan jam |
2. |
DATE |
Ukuran 8 byte. Kombinasi tanggal dan jam |
3. |
TIMESTAMP |
Ukuran 4 byte. Kombinasi tanggal dan jam |
4. |
TIME |
Ukuran 3 byte.waktu dengan jangkauan dari |
5. |
YEAR |
Ukuran 1 byte. Data tahun antara 1901 sampai |
3. Tipe data untuk karakter dan lain-lain
No |
Tipe |
Keterangan |
1. |
CHAR(M) |
Ukuran M byte, 1<=M<=255. Data string |
2. |
VARCHAR(M) |
Ukuran L+1 byte dengan L<=M dan |
3. |
TINYBLOB, TINYTEXT |
L+1 byte, dengan L<28 . Tipe |
4. |
BLOB, TEXT |
L+2 byte, dengan L<216 . Tipe |
5. |
MEDIUMBLOB, MEDIUMTEXT |
L+3 byte, dengan L<224. Tipe |
6. |
LONGBLOB, LONGTEXT |
L+4 byte, dengan L<232. Tipe |
7. |
ENUM(’nilai1’,’nilai2’,..) |
Ukuran 1 atau 2 byte tergantungnilai |
8. |
SET(’nilai1’,’nilai2’,..) |
Ukuran 1,2,3,4 atau 8 byte tergantung jumlah |
Blogroll
- Masih Kosong