Advertisement
Sebuah hubungan 1:1 wajib diwakili sebagai berikut:
A 1: N hubungan wajib:
A M: hubungan N adalah:
Model contoh kita akan terlihat seperti ini:
Menugaskan Keys
Primer Tombol
Sebuah kunci primer (PK) adalah satu atau lebih data atribut yang secara unik mengidentifikasi suatu entitas. Sebuah kunci yang terdiri dari dua atau lebih atribut disebut kunci komposit. Semua bagian atribut dari primary key harus memiliki nilai dalam setiap catatan (yang tidak dapat dibiarkan kosong) dan kombinasi dari nilai-nilai dalam atribut-atribut harus unik dalam tabel.
Dalam contoh ada beberapa kandidat yang jelas beberapa untuk primary key. Pelanggan semua memiliki nomor pelanggan, produk semua memiliki sejumlah produk yang unik dan penjualan memiliki jumlah penjualan. Masing-masing data unik dan setiap record akan berisi nilai, sehingga atribut ini dapat menjadi kunci utama. Seringkali sebuah kolom integer digunakan untuk primary key sehingga catatan dapat dengan mudah ditemukan melalui nomornya.
Link-entitas biasanya mengacu pada atribut primary key dari entitas yang mereka link. Kunci utama dari entitas link-biasanya merupakan koleksi dari atribut-atribut referensi-. Misalnya dalam entitas Sales_details kita bisa menggunakan kombinasi dari PK terhadap penjualan produk dan entitas sebagai PK dari Sales_details. Dengan cara ini kita menegakkan bahwa produk yang sama (jenis) hanya dapat digunakan sekali dalam penjualan yang sama. Beberapa item dari jenis produk yang sama dalam penjualan harus ditunjukkan dengan kuantitas.
Dalam ERD atribut primary key ditandai dengan 'PK' teks balik nama atribut. Dalam contoh hanya 'toko' entitas tidak memiliki calon yang jelas untuk PK, jadi kami akan memperkenalkan atribut baru untuk itu entitas: shopnr.
Foreign Key
Kunci Asing/Tamu (FK) dalam suatu entitas adalah mengacu pada primary key dari entitas lain. Dalam ERD atribut yang akan ditunjukkan dengan 'FK' di belakang namanya. Kunci asing dari suatu entitas juga dapat menjadi bagian dari primary key, dalam hal bahwa atribut akan ditunjukkan dengan 'PF' di belakang namanya. Ini biasanya terjadi dengan entitas link-, karena Anda biasanya menghubungkan dua contoh hanya sekali bersama-sama (dengan 1 dijual hanya 1 jenis produk yang dijual 1 kali).
Jika kita meletakkan semua link-entitas, PK dan FK ke ERD, kita mendapatkan model seperti yang ditunjukkan di bawah ini. Harap dicatat bahwa 'produk' atribut tidak lagi diperlukan dalam 'Penjualan', karena 'produk yang dijual' sekarang termasuk dalam tabel link-. Dalam tabel link-bidang lain ditambahkan, 'kuantitas', yang menunjukkan berapa banyak produk yang dijual. Bidang kuantitas juga ditambahkan dalam tabel saham-, untuk menunjukkan berapa banyak produk yang masih di toko.
Mendefinisikan Jenis Data Atribut ini
Sekarang saatnya untuk mencari tahu mana tipe data perlu digunakan untuk atribut. Ada banyak jenis data yang berbeda. Beberapa yang standar, tetapi banyak database memiliki tipe data mereka sendiri bahwa semua memiliki keunggulan sendiri. Beberapa offerthe database kemungkinan untuk menentukan jenis data Anda sendiri, dalam hal jenis standar tidak bisa melakukan hal-hal yang Anda butuhkan.
Tipe data standar yang setiap database tahu, dan yang paling-digunakan, adalah: CHAR, VARCHAR, TEXT, FLOAT, DOUBLE, dan INT.Teks:
CHAR (panjang) - mencakup teks (karakter, angka, tanda baca ...). CHAR memiliki karakteristik seperti itu selalu menyimpan jumlah yang tetap posisi. Jika anda mendefinisikan suatu CHAR (10) Anda dapat menyimpan hingga sepuluh posisi maksimal, tetapi jika Anda hanya menggunakan dua posisi database masih akan menghemat 10 posisi. Sisanya delapan posisi akan diisi oleh spasi.
VARCHAR (panjang) - mencakup teks (karakter, angka, tanda baca ...). VARCHAR adalah sama seperti CHAR, perbedaannya adalah bahwa VARCHAR hanya membutuhkan ruang sebanyak yang diperlukan.
TEKS - dapat berisi sejumlah besar teks. Tergantung pada jenis database ini dapat menambahkan hingga gigabyte.Nomor:
INT - berisi seluruh nomor positif atau negatif. Banyak database memiliki variasi INT, seperti TINYINT, SMALLINT, MEDIUMINT, BIGINT,, INT2 INT4, int8. Variasi ini berbeda dari INT hanya dalam ukuran sosok yang cocok ke dalamnya. Sebuah INT biasa adalah 4 byte (INT4) dan cocok angka dari -2147483647 sampai 2147483646, atau jika Anda mendefinisikannya sebagai unsigned 0-4294967296. The int8, atau BIGINT, bisa mendapatkan bahkan lebih besar dalam ukuran, 0-18446744073709551616, tetapi memakan waktu sampai 8 byte diskspace, bahkan jika ada hanya sejumlah kecil di dalamnya.
Float, DOUBLE - Ide yang sama seperti INT, tetapi juga dapat menyimpan angka floating point. . Lakukan dicatat bahwa ini tidak selalu bekerja dengan sempurna. Misalnya dalam MySQL menghitung dengan angka-angka floating point tidak sempurna, (1/3) * 3 akan menghasilkan dengan mengapung MySQL dalam 0,9999999, bukan 1.
Lain jenis:
BLOB - untuk data biner seperti files.INET - untuk alamat IP. Juga bisa digunakan untuk netmasks.
Sebagai contoh kita tipe data adalah sebagai berikut:
Normalisasi
Normalisasi membuat model data Anda fleksibel dan dapat diandalkan. Ini tidak menghasilkan beberapa overhead karena Anda biasanya mendapatkan lebih tabel, tetapi memungkinkan Anda untuk melakukan banyak hal dengan model data Anda tanpa harus menyesuaikan.
Normalisasi, Formulir Pertama
Bentuk pertama dari normalisasi menyatakan bahwa mungkin tidak ada kelompok mengulangi kolom dalam suatu entitas. Kita bisa menciptakan 'penjualan' entitas dengan atribut untuk masing-masing produk yang dibeli. Ini akan terlihat seperti ini:
Apa yang salah tentang ini adalah bahwa sekarang hanya 3 produk bisa dijual. Jika Anda harus menjual produk 4, daripada Anda harus memulai penjualan kedua atau menyesuaikan model data Anda dengan menambahkan 'product4' atribut. Kedua solusi yang tidak diinginkan. Dalam kasus ini Anda harus selalu membuat sebuah entitas baru yang Anda link ke yang lama melalui hubungan satu-ke-banyak.
Normalisasi, Formulir Kedua
Bentuk kedua dari normalisasi menyatakan bahwa semua atribut dari suatu entitas harus sepenuhnya tergantung pada primary key secara keseluruhan. Ini berarti bahwa setiap atribut dari suatu entitas hanya dapat diidentifikasi melalui primary key secara keseluruhan. Misalkan kita memiliki tanggal dalam entitas Sales_details:
Entitas ini tidak sesuai bentuk normalisasi kedua, karena untuk dapat mencari tanggal penjualan, saya tidak tahu apa yang dijual (productnr), satu-satunya hal yang perlu saya ketahui adalah jumlah penjualan. Hal ini diselesaikan dengan putus tabel ke dalam penjualan dan tabel Sales_details:
Sekarang setiap atribut dari entitas tergantung pada PK seluruh entitas. Tanggal ini tergantung pada jumlah penjualan, dan kuantitas tergantung pada jumlah penjualan dan produk yang dijual.
Normalisasi, Formulir Ketiga
Bentuk ketiga normalisasi menyatakan bahwa semua atribut harus langsung tergantung pada primary key, dan bukan pada atribut lainnya. Hal ini tampaknya menjadi apa bentuk kedua negara normalisasi, namun dalam bentuk yang kedua sebenarnya menyatakan sebaliknya. Dalam bentuk kedua normalisasi Anda menunjukkan atribut melalui PK, dalam bentuk ketiga normalisasi setiap atribut harus tergantung pada PK, dan tidak ada lagi.
Dalam hal ini harga produk longgar tergantung pada jumlah pemesanan, dan jumlah pemesanan tergantung pada jumlah produk dan jumlah penjualan. Hal ini tidak sesuai dengan bentuk ketiga normalisasi. Sekali lagi, putus tabel memecahkan ini.
Normalisasi, Lebih Formulir
Ada bentuk normalisasi lebih dari tiga bentuk yang disebutkan di atas, tetapi mereka tidak menarik untuk pengguna rata-rata. Bentuk-bentuk lain sangat khusus untuk aplikasi tertentu. Jika Anda tetap berpegang pada aturan desain dan normalisasi yang disebutkan dalam artikel ini, Anda akan membuat desain yang bekerja bagus untuk sebagian besar aplikasi.
Normalized Data Model
Advertisement
Glosarium
Atribut - data rinci mengenai suatu entitas, seperti nama harga,, panjang
Kardinalitas - hubungan antara dua entitas, dalam angka. Sebagai contoh, seseorang dapat menempatkan beberapa perintah.
Entitas - data abstrak yang Anda simpan dalam database. Sebagai contoh: pelanggan, produk.
Kunci asing (FK) - rujukan ke Primary Key dari meja lain. Kunci asing-kolom hanya dapat berisi nilai-nilai yang ada di kolom Primary Key yang mereka lihat.
Kunci - kunci yang digunakan untuk menunjukkan catatan. Kunci yang paling terkenal adalah Primary Key (lihat Primary Key).
Normalisasi - Sebuah model data yang fleksibel perlu mengikuti aturan-aturan tertentu. Menerapkan aturan ini disebut normalisasi.
Primary key - satu atau lebih kolom dalam sebuah tabel yang bersama-sama membentuk sebuah kombinasi unik dari nilai-nilai yang setiap record dapat menunjukkan secara terpisah. Sebagai contoh: pelanggan nomor, atau nomor seri produk.
Creatif By : Putra Bumi | Tempat Pembelajaran Database
Terimah Kasih telah membaca artikel Pengenalan terhadap Design Database Part 3. Yang ditulis oleh Putra Bumi .Pada hariSenin, 20 Mei 2013.
Jika Anda menyukai Artikel di blog ini, Silahkan klik disini untuk berlangganan gratis via email, dengan begitu Anda akan mendapat kiriman artikel setiap ada artikel yang terbit di blog ilmu database.
Jika anda ingin sebarluaskan artikel ini, mohon sertakan sumber link asli. Kritik dan saran dapat anda sampaikan melalui kotak komentar. Trimakasih
Jika Anda menyukai Artikel di blog ini, Silahkan klik disini untuk berlangganan gratis via email, dengan begitu Anda akan mendapat kiriman artikel setiap ada artikel yang terbit di blog ilmu database.
0 komentar :
Posting Komentar