Hubungan satu-ke-banyak erwin. Dasar-dasar bekerja di Erwin. Membangun model data logis. Menetapkan aturan validasi

Perumahan

Pekerjaan laboratorium No. 3. Pemodelan Basis Data dengan Erwin

Objektif- Akuisisi oleh siswa keterampilan praktis dalam membuat model data logis dan fisik menggunakan KASUS - alat pengembangan sistem informasi.

Informasi dasar

ERwin mendukung pemodelan database maju dan mundur. Dalam pemodelan langsung, skema database digambarkan secara langsung menggunakan diagram hubungan entitas. Entitas dalam diagram diwakili oleh persegi panjang. Setiap persegi panjang dapat memiliki atribut visual yang berbeda. Setiap entitas harus diberi nama yang unik. Nama entitas harus tunggal. Ini ditentukan oleh fakta bahwa sistem selalu beroperasi pada instance entitas yang terpisah. Dalam hal ini, contoh individu dari suatu entitas dianggap sebagai objek, dan entitas dianggap sebagai kelas objek. Jika entitas dijelaskan selama pemodelan di BPwin, maka mereka dapat dengan mudah diimpor ke ERwin. Contoh diagram dengan entitas yang dibuat ditunjukkan pada gambar.

Gambar 4 - Contoh diagram dengan entitas yang dibuat

Membangun Model di ERwin

Ada dua sudut pandang pada model informasi dan, dengan demikian, dua tingkat model. Yang pertama - tingkat logis (sudut pandang pengguna) berarti tampilan langsung fakta dari kehidupan nyata. Misalnya, orang, tabel, departemen, anjing, dan komputer adalah objek nyata. Mereka diberi nama dalam bahasa alami, dengan pemisah kata (spasi, koma, dll.). Pada tingkat fisik model, penggunaan DBMS tertentu dipertimbangkan, tipe data (misalnya, bilangan bulat atau bilangan real), indeks untuk tabel ditentukan.

ERwin menyediakan kemampuan untuk membuat dan mengelola dua level presentasi yang berbeda ini dari satu diagram (model), serta memiliki banyak opsi tampilan di setiap level. Istilah "tingkat logis" di ERwin sesuai dengan model konseptual.

Tahapan membangun model informasi.

  • definisi entitas;
  • penentuan ketergantungan antar entitas;
  • pengaturan kunci utama dan alternatif;
  • definisi atribut entitas;
  • membawa model ke tingkat bentuk normal yang diperlukan;
  • transisi ke deskripsi fisik model: penetapan korespondensi nama entitas - nama tabel, atribut entitas - atribut tabel;
  • pengaturan pemicu, prosedur, dan batasan;
  • pembuatan basis data.

Erwin membuat representasi visual (model data) untuk masalah yang sedang dipecahkan. Pandangan ini dapat digunakan untuk analisis rinci, penyempurnaan dan penyebaran dokumentasi yang diperlukan dalam siklus pengembangan. Namun, ERwin jauh dari sekadar alat menggambar. ERwin secara otomatis membuat database (tabel, indeks, prosedur tersimpan, pemicu integritas referensial, dan objek lain yang diperlukan untuk mengelola data).

Penciptaan entitas.

Untuk menambahkan entitas ke model, klik tombol entitas pada toolbar (Erwin Toolbox), lalu klik tempat pada diagram di mana Anda ingin menempatkan entitas baru. Mengklik kanan pada entitas dan memilih Editor Entitas dari menu pop-up menampilkan dialog Editor Entitas, yang mendefinisikan nama entitas, deskripsi, dan komentar.

Setiap entitas harus didefinisikan sepenuhnya dengan deskripsi tekstual pada tab Definisi. Definisi ini berguna baik pada tingkat logis, karena memungkinkan Anda untuk memahami jenis objek itu, dan pada tingkat fisik, karena dapat diekspor sebagai bagian dari skema dan digunakan dalam database nyata ( BUAT KOMENTAR di entity_name). Tab Note, Note2, Note3, UDP (User Defined Properties) digunakan untuk menambahkan komentar dan definisi tambahan ke entitas.

Di tab Ikon setiap entitas, Anda dapat mencocokkan gambar yang akan ditampilkan dalam tampilan model di tingkat ikon dan gambar yang akan ditampilkan di semua tingkat lainnya.

Tab UDP dari dialog Entity Editor digunakan untuk mendefinisikan properti yang ditentukan pengguna (User - Defined Properties). Ketika Anda mengklik tombol tab ini, dialog User - Defined Property Editor akan dipanggil (juga dipanggil dari menu Edit/UDPs). Di dalamnya, Anda harus menentukan jenis objek untuk memulai UDP (diagram secara keseluruhan, entitas, atribut, dll.) dan tipe data. Untuk menambahkan properti baru, klik tombol di tabel dan masukkan nama, tipe data, nilai default, dan definisi.

Membuat atribut.

Langkah selanjutnya dalam membuat model adalah menetapkan atribut untuk setiap entitas. Saat menentukan jenis atribut, dimungkinkan untuk menggunakan domain. Domain adalah tipe abstrak yang ditentukan pengguna yang ditetapkan ke tipe data fisik apa pun. Namun, setiap domain dapat memiliki nilai default dan aturan validasi inputnya sendiri. ERwin menyediakan kemampuan untuk mendokumentasikan semua langkah untuk membuat tipe data Anda sendiri. Menggunakan konsep domain, database portabel untuk platform perangkat keras yang berbeda.

Gambar 5 - Membuat domain baru Gambar 6 - Menentukan properti domain baru

Gambar 7 - Nilai default untuk domain baru

Gambar 8 - Menggunakan domain untuk menentukan tipe data atribut.

Untuk mendeskripsikan atribut, klik kanan pada entitas dan pilih item Editor Atribut dari menu yang muncul. Dialog Editor Atribut akan muncul.

Jika Anda mengklik tombol Baru, maka pada dialog Atribut Baru yang muncul, Anda dapat menentukan nama atribut, nama kolom yang sesuai dengannya di model fisik, dan domain. Domain atribut akan digunakan saat mendefinisikan tipe kolom pada level model fisik.

Atribut kunci utama pada tab Umum dari dialog Editor Atribut harus dicentang di kotak pilihan Kunci Utama.
Tab Definisi, Catatan, dan UDP memiliki fungsi yang sama seperti dalam mendefinisikan entitas, tetapi pada tingkat atribut.

Untuk kejelasan diagram yang lebih besar, setiap atribut dapat dikaitkan dengan ikon. Ini dapat dilakukan dengan menggunakan daftar pilihan Ikon pada tab Umum.

Sangat penting untuk memberi atribut nama yang benar. Atribut harus diberi nama dalam bentuk tunggal dan memiliki arti semantik yang jelas.

Menurut sintaks IDEF1X, nama atribut harus unik di dalam model (tidak hanya di dalam entitas!). Secara default, saat Anda mencoba memasukkan nama atribut yang sudah ada, ERwin mengganti namanya. Misalnya, jika atribut Comment sudah ada dalam model, atribut lain (dalam entitas yang berbeda) akan diberi nama Comment/2, lalu Comment/3, dan seterusnya.
Saat mentransfer atribut di dalam dan di antara entitas, Anda dapat menggunakan teknik seret & lepas dengan memilih tombol di palet alat.

Untuk membuat hubungan baru, pilih hubungan yang mengidentifikasi atau tidak mengidentifikasi di palet alat (ERwin Toolbox), klik pertama pada induk dan kemudian pada entitas anak.
Pada palet alat, tombol sesuai dengan hubungan pengidentifikasi, tombol hubungan banyak ke banyak, dan tombol untuk hubungan yang tidak mengidentifikasi. Untuk mengedit properti relasi, klik kanan relasi dan pilih Editor Relasi dari menu konteks.

Di tab Umum dari dialog yang muncul, Anda dapat mengatur daya, nama, dan jenis koneksi.

Kekuatan komunikasi (Kardinalitas)- berfungsi untuk menunjukkan rasio jumlah instance entitas induk dengan jumlah instance anak.
Ada empat jenis kekuatan:

Kasus umum, ketika satu instance dari entitas induk sesuai dengan 0, 1 atau banyak instance dari entitas anak, tidak ditandai dengan simbol apa pun;

Simbol P menandai kasus ketika satu instance dari entitas induk sesuai dengan 1 atau banyak instance dari entitas anak (nilai nol dikecualikan);

· simbol Z menandai kasus ketika satu instance dari entitas induk sesuai dengan 0 atau 1 instance dari entitas anak (beberapa nilai dikecualikan);

· gambar tersebut menandai kasus ketika satu instance dari entitas induk sesuai dengan jumlah instance entitas anak yang telah ditentukan sebelumnya.

Secara default, simbol daya tautan tidak ditampilkan pada diagram. Untuk menampilkan nama, gunakan menu konteks yang muncul saat Anda mengklik kanan di mana saja dalam diagram yang tidak ditempati oleh objek model, pilih item Opsi Tampilan/Hubungan, lalu aktifkan opsi Kardinalitas.

Jenis tautan (identifikasi/non-identifikasi).

IDEF1X membedakan antara entitas dependen dan independen. Jenis suatu entitas ditentukan oleh hubungannya dengan entitas lain. Hubungan pengidentifikasi dibuat antara entitas independen (akhir induk dari hubungan) dan entitas dependen (akhir anak dari hubungan). Ketika hubungan pengidentifikasi ditarik, ERwin secara otomatis mengubah hubungan anak menjadi hubungan dependen. Entitas dependen diwakili oleh persegi panjang dengan sudut membulat.

Instance dari entitas dependen hanya didefinisikan melalui relasi dengan entitas induk. Ketika hubungan pengidentifikasi dibuat, atribut kunci utama entitas induk secara otomatis ditransfer ke kunci utama entitas anak. Operasi penambahan atribut ke entitas anak saat membuat hubungan ini disebut migrasi atribut. Di entitas anak, atribut baru ditandai sebagai kunci asing - (FK).

Ketika hubungan non-identifikasi dibuat, entitas anak tetap independen, dan atribut kunci utama dari entitas induk bermigrasi ke komponen non-kunci entitas anak. Sebuah hubungan non-identifikasi digunakan untuk menghubungkan entitas independen.

Hubungan yang mengidentifikasi ditunjukkan dalam diagram sebagai garis padat dengan titik tebal di ujung anak hubungan, hubungan yang tidak mengidentifikasi ditampilkan sebagai garis putus-putus.

Untuk hubungan yang tidak mengidentifikasi, Anda bisa menentukan apakah itu wajib (Nulls pada tab Umum dari dialog Editor Hubungan). Dalam kasus hubungan wajib (No Nulls), saat membuat skema database, atribut kunci asing akan menerima atribut NOT NULL, meskipun fakta bahwa kunci asing tidak akan disertakan dalam kunci utama entitas anak. Dalam kasus hubungan opsional (Null Allowed), kunci asing bisa NULL. Hubungan non-identifikasi opsional ditandai dengan berlian transparan di sisi entitas induk

Nama Hubungan (Frase Kata Kerja)- frase yang mencirikan hubungan antara entitas induk dan anak. Untuk hubungan satu-ke-banyak yang mengidentifikasi atau tidak mengidentifikasi, cukup menentukan nama yang mencirikan hubungan dari entitas induk ke entitas anak (Induk-ke-Anak). Untuk hubungan banyak-ke-banyak, nama Orang Tua-ke-Anak dan Anak-ke-Orang Tua harus ditentukan. Untuk menampilkan nama, gunakan menu konteks yang muncul saat Anda mengklik kanan di mana saja dalam diagram yang tidak ditempati oleh objek model, pilih item Opsi Tampilan/Hubungan, lalu aktifkan opsi Frasa Kata Kerja.

Nama peran atau nama fungsional (Rolename) adalah sinonim untuk atribut kunci asing yang menunjukkan peran apa yang dimainkan atribut tersebut dalam entitas anak. Anda dapat mengatur nama peran di tab Nama Peran/Tindakan RI pada dialog Editor Hubungan.

Penciptaan kunci.

Setiap instance entitas harus unik dan berbeda dari atribut lainnya.

Kunci utama adalah atribut atau kelompok atribut yang secara unik mengidentifikasi instance dari suatu entitas. Atribut kunci utama dalam diagram tidak memerlukan penunjukan khusus - atribut tersebut adalah atribut yang ada dalam daftar atribut di atas garis horizontal. Saat menambahkan atribut baru dalam dialog Editor Atribut, untuk menjadikannya atribut kunci utama, kotak centang Kunci Utama di bagian bawah tab Umum harus diaktifkan. Dalam diagram, atribut kunci dapat ditambahkan ke kunci utama menggunakan mode transfer atribut (tombol di palet alat).

Satu entitas mungkin memiliki beberapa atribut atau kumpulan atribut yang mengklaim sebagai kunci utama. Pelamar seperti itu disebut kunci kandidat.

Kunci bisa rumit, mis. mengandung banyak atribut. Kunci utama yang kompleks tidak memerlukan notasi khusus - ini adalah daftar atribut di atas garis horizontal. Saat memilih kunci utama, preferensi harus diberikan pada kunci yang lebih sederhana, mis. kunci yang berisi atribut lebih sedikit.

Banyak entitas hanya memiliki satu kunci kandidat. Kunci ini menjadi kunci utama. Beberapa entitas mungkin memiliki lebih dari satu kemungkinan kunci. Kemudian salah satunya menjadi kunci utama dan sisanya menjadi kunci alternatif.

Kunci Alternatif adalah kunci kandidat yang belum menjadi kunci utama.

Setiap kunci sesuai dengan indeks, yang namanya juga ditetapkan secara otomatis. Nama kunci dan indeks dapat diubah secara manual jika diinginkan.

Dalam diagram, atribut kunci alternatif dilambangkan sebagai (Akn.m.), di mana n adalah nomor urut kunci, m adalah nomor urut atribut dalam kunci. Ketika kunci alternatif berisi beberapa atribut, (Akn.m.) ditempatkan setelah masing-masing.

Kunci Asing dibuat secara otomatis ketika suatu relasi menghubungkan entitas: relasi membentuk tautan ke atribut kunci utama di entitas anak dan atribut ini membentuk kunci asing di entitas turunan (migrasi kunci). Atribut kunci asing dilambangkan dengan karakter (FK) setelah namanya.

Entitas dependen dapat memiliki kunci yang sama dari beberapa entitas induk. Entitas juga dapat memperoleh kunci asing yang sama beberapa kali dari induk yang sama melalui beberapa hubungan yang berbeda. Ketika ERwin menemukan salah satu dari peristiwa ini, ia mengakui bahwa kedua atribut itu sama dan menempatkan atribut kunci asing pada entitas dependen hanya sekali. Kombinasi atau penyatuan atribut identik ini disebut unifikasi.

Ada kasus ketika penyatuan tidak diinginkan. Misalnya, ketika dua atribut memiliki nama yang sama, tetapi sebenarnya mereka berbeda dalam arti, dan perbedaan ini perlu dicerminkan dalam diagram. Dalam hal ini, Anda harus menggunakan nama peran kunci asing.

Hubungan dalam diagram diwakili oleh garis-garis yang berpindah dari satu entitas (tabel) ke entitas lain. Setiap tautan diberi nama unik. Tabel terkait dibagi menjadi tabel induk dan tabel anak. Tabel induk ditampilkan sebagai persegi panjang persegi panjang, tabel anak dibulatkan.

Setelah menentukan semua atribut dari format data, perlu untuk mengubah model logis yang dibuat menjadi model fisik. Untuk itu perlu di Peralatan memilih Turunkan Model Baru, di mana untuk Target Database pilih ODBC/Generik(untuk digunakan dalam DBMS MySQL) lihat Gambar 9. Model kita (lihat Gambar 4) akan diubah menjadi bentuk lihat Gambar 11.

Gambar 9 - Mengubah model logis menjadi model fisik

Gambar 10 - Model fisik yang menunjukkan format data.

Gambar 11 - Pembuatan kode SQL

Latihan

1. Buat diagram dengan entitas tertentu (pemodelan langsung) untuk area subjek tertentu.

2. Tetapkan atribut untuk setiap entitas yang ditentukan. Saat mengatur atribut, gunakan domain.

3. Masukkan hubungan antar entitas. Berikan link nama yang unik.

4. Menggunakan MYSQL DBMS, selesaikan pembuatan database langsung untuk informasi yang diproyeksikan.

5. Laporan harus berisi model konseptual dan database fisik di MYSQL DBMS.

pertanyaan tes

1. Apa perbedaan antara level logis dan fisik dalam merepresentasikan model data menggunakan ERwin?

2. Apa perbedaan antara model data yang disajikan dalam bentuk diagram hubungan entitas, berdasarkan kunci dan dalam bentuk model atribut lengkap?

3. Apa saja komponen utama dari model data yang disajikan menurut metodologi IDEF1X?


Daftar tipe data yang didukung oleh DBMS harus diperiksa dengan pabrikan

6. Pemodelan di ERwin

Tempat ERwin dalam pemodelan informasi
Proses membangun model informasi terdiri dari langkah-langkah berikut:

  • definisi entitas;
  • penentuan ketergantungan antar entitas;
  • pengaturan kunci utama dan alternatif;
  • definisi atribut entitas;
  • membawa model ke tingkat bentuk normal yang diperlukan;
  • transisi ke deskripsi fisik model: penetapan korespondensi nama entitas - nama tabel, atribut entitas - atribut tabel; pengaturan pemicu, prosedur, dan batasan;
  • pembuatan basis data.

ERwin membuat representasi visual (model data) untuk masalah yang sedang dipecahkan. Representasi ini dapat digunakan untuk analisis rinci, perbaikan dan diseminasi sebagai bagian dari dokumentasi yang diperlukan dalam siklus pengembangan. Namun, ERwin jauh dari sekadar alat menggambar. ERwin secara otomatis membuat database (tabel, indeks, prosedur tersimpan, pemicu integritas referensial, dan objek lain yang diperlukan untuk mengelola data).

Memetakan lapisan logis dan fisik dari model data di ERwin

Ada dua tingkat representasi dan pemodelan di ERwin - logis dan fisik. Tingkat logis berarti tampilan langsung fakta dari kehidupan nyata. Misalnya, orang, tabel, departemen, anjing, dan komputer adalah objek nyata. Mereka diberi nama dalam bahasa alami, dengan pemisah kata (spasi, koma, dll.). Pada tingkat logis, penggunaan DBMS tertentu tidak dipertimbangkan, tipe data (misalnya, bilangan bulat atau bilangan real) tidak ditentukan, dan indeks untuk tabel tidak ditentukan.
DBMS target, nama objek dan tipe data, indeks membentuk level kedua (fisik) dari model ERwin.
ERwin menyediakan kemampuan untuk membuat dan mengelola dua level presentasi yang berbeda ini dari satu diagram (model), serta memiliki banyak opsi tampilan di setiap level.

Komponen Bagan ERwin dan Tampilan Bagan Dasar

Diagram ERwin dibangun dari tiga blok utama - entitas, atribut, dan hubungan. Jika kita menganggap diagram sebagai representasi grafis dari aturan area subjek, maka entitas adalah kata benda, dan hubungan adalah kata kerja.
Pilihan antara tingkat tampilan logis dan fisik dilakukan melalui toolbar atau menu. Dalam setiap level ini, ada mode tampilan berikut:

  • Mode "Entitas" - nama entitas (untuk model logis) atau nama tabel (untuk representasi fisik model) ditampilkan di dalam persegi panjang; digunakan untuk dengan mudah melihat diagram besar atau menempatkan persegi panjang entitas pada diagram.
  • Mode definisi entitas digunakan untuk menyajikan diagram kepada orang lain.
  • Modus atribut. Saat berpindah dari area subjek ke model, diperlukan untuk memasukkan informasi tentang apa yang merupakan entitas. Informasi ini dimasukkan dengan mengatur atribut (pada tingkat fisik - kolom tabel). Dalam mode ini, entitas-persegi panjang dibagi dengan garis menjadi dua bagian - atribut (kolom) yang membentuk kunci utama ditampilkan di bagian atas, dan atribut lainnya ditampilkan di bagian bawah. Mode ini adalah yang utama saat mendesain pada level logis dan fisik.
  • Mode "kunci utama" - di dalam persegi panjang - hanya atribut/kolom yang membentuk kunci utama yang ditampilkan.
  • Modus ikon. Untuk tujuan presentasi, setiap tabel dapat diberi ikon (bitmap).
  • Mode tampilan frase kata kerja. Busur tautan menunjukkan frasa kata kerja yang menghubungkan entitas (untuk level logis) atau nama kunci asing (untuk level fisik).

Bagan dapat menjangkau lebih dari satu layar dan lebih dari satu lembar saat dicetak. Selain scrolling layar, untuk review model ada mode memperkecil/memperbesar gambar, menampilkan keseluruhan model, menampilkan bagian model yang dipilih.

Alat untuk membuat model di ERwin

Alat utama untuk membuat model tersedia baik dari menu maupun melalui jendela alat. Dengan bantuan mereka, entitas independen dan dependen dibuat, mengidentifikasi dan tidak mengidentifikasi hubungan, kategori lengkap dan tidak lengkap, hubungan non-spesifik dan elemen teks.
Mengklik mouse di atas entitas memasuki salah satu dari banyak editor ERwin:

  • editor yang terkait dengan entitas secara keseluruhan (definisi entitas, informasi tambahan, pemicu, indeks, karakteristik tabel, prosedur tersimpan terkait tabel);
  • editor atribut (definisi atribut, kolom tabel dalam tampilan fisik model, repositori alat 4GL, seperti atribut yang diperluas di PowerBuilder).

Identifikasi entitas. Entitas di ERwin

Dalam diagram, entitas diwakili oleh persegi panjang. Bergantung pada mode presentasi diagram, persegi panjang mungkin berisi nama entitas, deskripsinya, daftar atributnya, dan informasi lainnya.
Garis horizontal persegi panjang membagi atribut suatu entitas menjadi dua set - atribut yang membentuk kunci utama di bagian atas dan lainnya (tidak termasuk dalam kunci utama) di bagian bawah.
Entitas adalah sekumpulan objek nyata atau abstrak, seperti orang, tempat, peristiwa, fakta, yang memiliki karakteristik yang sama. Esensi adalah konsep yang logis. Entitas sesuai dengan tabel dalam DBMS nyata. Di ERwin, entitas secara visual mewakili tiga jenis informasi utama:

  • atribut yang membentuk kunci utama;
  • atribut bukan kunci;
  • tipe entitas (independen/dependen).

Kunci utama adalah atribut atau kumpulan atribut yang secara unik mengidentifikasi sebuah instance dari suatu entitas. Jika beberapa set atribut dapat secara unik mengidentifikasi suatu entitas, maka pilihan salah satunya dilakukan oleh pengembang berdasarkan analisis area subjek.
Untuk setiap kunci utama, ERwin membuat indeks unik saat membuat struktur basis data.
Instance dari entitas independen dapat diidentifikasi secara unik tanpa menentukan hubungannya dengan entitas lain; entitas dependen, di sisi lain, tidak dapat diidentifikasi secara unik tanpa menentukan hubungannya dengan entitas lain. Entitas dependen ditampilkan di ERwin sebagai persegi panjang bulat.

Hubungan di ERwin

Suatu hubungan adalah ketergantungan fungsional antara dua entitas (khususnya, suatu entitas dapat dikaitkan dengan dirinya sendiri). Misalnya, penting untuk mengetahui nama seorang karyawan, dan sama pentingnya untuk mengetahui di departemen mana dia bekerja. Jadi, antara entitas "departemen" dan "karyawan" ada hubungan "terdiri dari" (departemen terdiri dari karyawan). Hubungan adalah konsep tingkat logis yang sesuai dengan kunci asing di tingkat fisik. Di ERwin, hubungan diwakili oleh lima informasi utama:

  • jenis koneksi (identifikasi, non-identifikasi, kategori lengkap/tidak lengkap, koneksi non-spesifik);
  • entitas induk;
  • entitas anak (tanggungan);
  • kekuatan komunikasi (kardinalitas);
  • penerimaan nilai kosong (null).

Suatu hubungan disebut mengidentifikasi jika sebuah instance dari entitas anak diidentifikasi melalui hubungannya dengan entitas induk. Atribut yang membentuk kunci utama entitas induk termasuk dalam kunci utama entitas anak. Entitas anak dalam hubungan pengidentifikasi selalu merupakan entitas dependen.
Suatu relasi dikatakan non-identifying jika instance dari entitas anak diidentifikasi selain melalui relasi dengan entitas induk. Atribut yang membentuk kunci utama dari entitas induk termasuk dalam atribut non-kunci dari entitas anak.
Untuk menentukan hubungan ERwin, pilih jenis hubungan, lalu klik entitas induk dan anak. Hubungan yang mengidentifikasi ditampilkan sebagai garis padat; non-mengidentifikasi - garis putus-putus. Garis diakhiri dengan titik di sisi entitas anak.
Ketika suatu hubungan didefinisikan, atribut kunci utama dari entitas induk dimigrasikan ke area atribut yang sesuai dari entitas anak. Oleh karena itu, atribut tersebut tidak dimasukkan secara manual.
Atribut kunci utama entitas induk dimigrasikan dengan namanya secara default. ERwin memungkinkan Anda memasukkan peran untuk mereka, mis. nama baru di mana atribut migrasi akan diwakili dalam entitas anak. Dalam kasus beberapa migrasi atribut, penggantian nama seperti itu diperlukan. Misalnya, entitas "transaksi perantara" memiliki atribut "kode perusahaan-penjual" dan "kode perusahaan-pembeli". Dalam hal ini, kunci utama entitas "perusahaan" ("kode perusahaan") memiliki dua peran dalam entitas anak.
Pada tingkat fisik, nama peran adalah nama kolom kunci asing di tabel anak.
Kardinalitas tautan adalah rasio jumlah instance entitas induk dengan jumlah instance entitas anak yang sesuai. Untuk setiap hubungan selain non-spesifik, hubungan ini ditulis sebagai 1:n.
ERwin, sesuai dengan metodologi IDEF1X, menyediakan 4 opsi untuk n, yang diwakili oleh karakter tambahan di entitas anak: nol, satu atau lebih (secara default); nol atau satu; tepat N, di mana N adalah bilangan tertentu.
Dapat diterimanya nilai NULL dalam hubungan non-identifikasi ERwin menggambarkan berlian kosong pada busur hubungan dari sisi entitas induk.
Penunjukan daya, masing-masing, nol, satu atau lebih, satu atau lebih, nol atau satu dalam notasi IE ditunjukkan pada Gambar. satu.

Gambar.1. Tautkan notasi daya dalam notasi IE

Nama tautan pada tingkat logis adalah entitas penghubung "kata kerja". Nama fisik link (yang mungkin berbeda dari yang logis) untuk ERwin berarti nama kendala (constraint) atau indeks.

Pengeditan Model Grafis

Semua objek model ERwin dapat diedit dengan cara yang diterima di Windows - mengelompokkan, menyalin, menghapus, memindahkan, menggunakan buffer sistem. Warna dan font diatur dalam dialog yang nyaman.
Komponen model yang diwakili oleh teks (nama entitas, atribut, elemen teks) dapat diedit langsung di layar.

Kunci Alternatif

Kunci alternatif adalah atribut (atau kelompok atribut) yang berbeda dari kunci utama dan secara unik mengidentifikasi instance dari suatu entitas. Misalnya, untuk entitas karyawan (ID karyawan, nama belakang, nama depan, patronimik), kelompok atribut "nama belakang", "nama depan", "patronimik" dapat menjadi kunci alternatif (dengan asumsi bahwa nama lengkap tidak berfungsi di perusahaan).
Untuk kunci alternatif, serta kunci utama, ERwin secara otomatis membuat indeks saat membuat database.

Indeks terbalik

Atribut yang membentuk kunci alternatif jelas (unik) mengidentifikasi instance entitas. Di ERwin, Anda juga dapat membuat grup atribut yang tidak secara unik mengidentifikasi instance entitas, tetapi sering digunakan untuk mengakses data. Untuk setiap grup atribut tersebut, ERwin membuat indeks yang tidak unik.
Atribut entitas yang sama dapat dimasukkan dalam beberapa kelompok kunci yang berbeda.

Penyatuan Atribut

Entitas dependen dapat mewarisi kunci asing yang sama dari lebih dari satu entitas induk, atau dari entitas induk yang sama melalui beberapa hubungan. Kecuali peran yang berbeda diperkenalkan untuk pewarisan berganda seperti itu, ERwin menganggap atribut kunci asing hanya muncul sekali di entitas dependen.
Unifikasi adalah penyatuan dua atau lebih kelompok atribut kunci asing menjadi satu kunci asing (grup atribut), dengan asumsi bahwa nilai atribut dengan nama yang sama pada entitas anak selalu sama.
Mari kita perhatikan sebuah contoh: entitas "karyawan" memiliki kunci utama "kode karyawan" dan dihubungkan oleh hubungan pengidentifikasian dengan entitas "pasangan" dan "anak-anak". Dalam hal ini, kunci utama dimigrasikan ke entitas dependen. Pada gilirannya, entitas "pasangan" memiliki hubungan yang tidak mengidentifikasi dengan entitas "anak". Ada dua jalur migrasi kunci, namun, di entitas turunan, atribut ID karyawan muncul sekali sebagai elemen kunci utama.
Ada kasus ketika penyatuan atribut memberikan hasil yang salah dari sudut pandang area subjek. Untuk menyatukan atribut, nama peran dimasukkan.

Beberapa entitas mendefinisikan seluruh kategori objek dengan tipe yang sama. Di ERwin, dalam hal ini, entitas dibuat untuk mendefinisikan kategori dan untuk setiap elemen kategori, dan kemudian hubungan kategorisasi dimasukkan untuk mereka. Entitas induk dari suatu kategori disebut supertipe, dan anak-anak disebut subtipe.
Misalnya, entitas "karyawan" dapat berisi data tentang karyawan tetap dan karyawan sementara. Yang pertama dan kedua memiliki set atribut yang berbeda dan sebagian tumpang tindih (perpotongan minimum subtipe adalah kunci utama). Bagian umum dari atribut ini, termasuk kunci utama, ditempatkan di entitas supertipe karyawan.
Bagian yang berbeda (misalnya, data gaji per jam untuk pekerja sementara dan data gaji dan liburan untuk pekerja penuh waktu) ditempatkan di entitas subtipe.
Dalam supertipe entitas, atribut diskriminator diperkenalkan, yang memungkinkan untuk membedakan antara contoh spesifik dari subtipe entitas.
Bergantung pada apakah semua entitas subtipe yang mungkin disertakan dalam model, hubungan kategoris selesai atau tidak lengkap. Melanjutkan contoh, jika supertipe dapat berisi data tentang karyawan yang diberhentikan, maka hubungan ini adalah kategorisasi yang tidak lengkap, karena tidak ada entri untuk itu di entitas - subtipe.
Di ERwin, kategori lengkap diwakili oleh lingkaran dengan dua garis bawah, dan kategori tidak lengkap dengan lingkaran dengan satu garis bawah.

Menerapkan Integritas Referensial dengan ERwin

Integritas referensial adalah penegakan persyaratan bahwa nilai kunci asing dari instance entitas anak cocok dengan nilai kunci utama di entitas induk. Integritas referensial dapat dikontrol untuk semua operasi yang mengubah data (INSERT/UPDATE/DELETE). Kontrol integritas referensial di ERwin mencakup pembuatan pemicu otomatis dan penggunaan mekanisme integritas referensial deklaratif (untuk DBMS yang mendukung mekanisme ini).
Untuk setiap koneksi pada tingkat logis, persyaratan dapat diatur untuk memproses operasi INSERT / UPDATE / DELETE untuk entitas induk dan anak. ERwin menyediakan opsi berikut untuk menangani peristiwa ini:

  • kurangnya verifikasi;
  • validasi;
  • larangan operasi;
  • eksekusi operasi cascading (HAPUS/PERBARUI);
  • menyetel nilai default kosong (nilai NULL) atau ditentukan.

Menurut opsi yang dipilih, ERwin secara otomatis membuat pemicu yang diperlukan dalam dialek SQL dari DBMS target. Pada saat yang sama, ERwin menggunakan perpustakaan templat pemicu yang dapat dimodifikasi.
Saat membuat struktur database, pemicu integritas referensial dapat diganti pada tiga tingkat:

  1. Pemicu dapat diganti untuk memberikan aturan bagi seluruh model.
  2. Pemicu yang ditentukan untuk hubungan tertentu dapat diganti.
  3. Pemicu yang ditentukan untuk tabel tertentu dapat diganti.

Tipe override ditentukan oleh pengembang saat membuat skema database (Gbr. 6 - masing-masing RI Type Override, Relationship Override, Entity Override).

Menyimpan Informasi dalam Model ERwin

Biasanya, model ERwin disimpan ke disk sebagai file. Dimungkinkan untuk menyimpan model dalam DBMS target. Untuk melakukan ini, menggunakan ERwin itu sendiri, sebuah metabase ERwin dibuat di DBMS target. Informasi model disimpan dalam database ini. Dalam kasus tertentu, database juga dapat berupa file dBase yang bekerja dengan ERwin melalui ODBC.

Contoh pengembangan model di ERwin

Pertimbangkan siklus pengembangan menggunakan contoh yang disediakan dalam artikel Codd.
Mari kita ingat secara singkat sisi isi dari masalah. Catatan karyawan dipelihara. Untuk setiap karyawan, informasi disimpan tentang anak-anak dan daftar posisi yang dipegang oleh karyawan ini. Untuk posisi, informasi tentang gaji resmi yang ditetapkan disimpan.
Pertama, mari kita buat level logis dari model. Untuk melakukan ini, atur mode tampilan untuk entitas (Tampilan/Tingkat Entitas). Menggunakan toolbar, kita akan membuat entitas "karyawan", "anak-anak", "riwayat pekerjaan", "riwayat gaji". Kami akan memberi nama entitas dalam bahasa Rusia.
Setelah memilih setiap entitas, kami akan menetapkan deskripsi terperinci untuknya dalam bahasa Rusia di editor "Definisi Entitas". Deskripsi ini akan muncul dalam laporan ERwin dan dapat ditampilkan dalam diagram.
Mari kita tentukan koneksi antar entitas. Misalnya, "karyawan" memiliki hubungan pengenal "adalah orang tua" dengan entitas "anak". Deskripsi hubungan dimasukkan dalam editor "Editor/Hubungan".
Hasil pekerjaan ditampilkan pada diagram ERwin (Gbr. 2).

Beras. 2. Diagram tingkat entitas

Sekarang mari kita beralih ke mode pengaturan atribut (Tampilan/Tingkat Atribut). Di editor "Entitas/Atribut", mari atur nama atribut kunci dan non-kunci dalam bahasa Rusia. Perhatikan bahwa untuk entitas anak "anak", atribut kunci "nomor karyawan" tidak ditentukan secara manual. ERwin menyediakan migrasinya dari entitas induk. Hal yang sama terjadi dengan entitas anak lainnya.
Untuk atribut "nama" dari entitas "karyawan", kami menunjukkan bahwa itu adalah kunci alternatif (kami akan menganggap bahwa semua karyawan memiliki nama depan/belakang yang unik). Untuk melakukan ini, setelah nama atribut, kami menempatkan pointer AK1 dalam tanda kurung.
Hasil kerja ditampilkan pada diagram ERwin (Gbr. 3) dalam notasi IDEF1X.

Beras. 3. Diagram level atribut dalam notasi IDEF1X

Tampilan diagram yang sama dalam notasi IE (Teknik Informasi) ditunjukkan pada Gbr.4.

Beras. 4. Diagram Level Atribut dalam Notasi IE

Karena nama atribut dan entitas ditetapkan oleh kami dalam bahasa Rusia, untuk menuju ke tingkat fisik model, mereka harus dikaitkan dengan pengidentifikasi tabel, kolom, dan batasan yang memenuhi aturan DBMS target (biasanya ini berarti menggunakan huruf latin, angka, dan beberapa karakter khusus).
Di editor "Skema Basis Data", tentukan nama tabel yang sesuai untuk setiap entitas. Kemudian, di editor "Definisi Atribut", kami menetapkan nama kolom tabel yang sesuai dengan atribut entitas. ERwin juga menyediakan migrasi nama kolom ke tabel bawahan.
Pada tahap ini, Anda juga dapat menggunakan editor "Extended Attributes" untuk menentukan atribut tambahan PowerBuilder (format tampilan, edit mask, aturan kontrol, perataan, judul, dan komentar).
Editor "Definisi Hubungan" menentukan nama fisik hubungan, yang sesuai dengan nama batasan yang dibuat oleh ERwin dalam database.
Sekarang semuanya sudah siap untuk membuat database dan Anda perlu memilih DBMS target (jika ini belum pernah dilakukan sebelumnya). Mari kita pilih, misalnya, Sybase System 10.
Di editor Skema Basis Data SYBASE, kami mengatur tipe data untuk kolom tabel.
Dialog di mana tipe data dipilih ditunjukkan pada Gbr.5.

Beras. 5. Definisi model fisik

Sekarang kita dapat melanjutkan ke pembuatan database. Untuk melakukan ini, perintah "Pembuatan skema Sybase" dijalankan. ERwin akan membangun paket SQL generasi database. Gambar 6 menunjukkan dialog untuk memilih parameter untuk menghasilkan paket untuk menghasilkan database. Gambar tersebut menunjukkan bahwa filter dapat diatur (pembuatan tidak semua tabel), paket pernyataan SQL dapat dilihat (pratinjau), dicetak, disimpan ke file (laporan), dan dihasilkan (dihasilkan).

Beras. 6. Memilih opsi pembuatan basis data

7. Fitur canggih ERwin

Rekayasa terbalik

Rekayasa terbalik, yaitu, memulihkan model informasi dari database yang ada, digunakan ketika memilih platform optimal (rightsizing) untuk database desktop yang ada atau database di mainframe, serta ketika memperluas (atau memodifikasi) struktur yang ada yang dibangun tanpa dokumentasi pendukung yang diperlukan. Setelah proses pemulihan model selesai, ERwin secara otomatis "menyebarkan" tabel pada diagram. Sekarang Anda dapat melakukan modifikasi yang sudah menggunakan skema logis - tambahkan entitas, atribut, komentar, tautan, dll. Setelah menyelesaikan perubahan, satu perintah - menyinkronkan model dengan database - memperbarui semua perubahan yang dibuat.
Pembuatan model dapat dilakukan baik berdasarkan data katalog database atau berdasarkan paket pernyataan SQL yang dengannya database dibuat.

Sinkronisasi Basis Data

Dalam proses pengembangan sistem informasi, situasi mungkin muncul ketika struktur database dan model informasi tidak sesuai satu sama lain. ERwin memberikan kesempatan untuk mempertemukan mereka.
Untuk ini, fungsi sinkronisasi dengan database disediakan. Setelah terhubung ke DBMS, daftar inkonsistensi antara struktur data yang ada dan model ditawarkan. Misalnya, jika tabel baru dibuat dalam database, maka ERwin akan menawarkan untuk memasukkannya ke dalam model. Jika tabel baru ditambahkan ke model, ERwin akan menawarkan untuk membuatnya di database sebenarnya. Demikian pula, ketika menambahkan kolom ke database atau model, ERwin menawarkan untuk melakukan operasi sinkronisasi yang sesuai. Prosedur untuk memilih tabel yang disinkronkan ditunjukkan pada Gambar 7.

Beras. 7. Memilih Tabel yang Disinkronkan

ERwin "tahu" tentang fitur penyimpanan data dalam DBMS individual seperti segmen (dalam Sybase) dan ruang tabel (di Oracle). Informasi penempatan fisik dapat dimasukkan dalam model dan digunakan dalam rekayasa maju dan mundur.

Antarmuka ke DBMS

ERwin mendukung antarmuka langsung dengan DBMS utama: DB2 versi 2 dan 3, Informix versi 5.1, 6.0, 7.1, Ingres, NetWare SQL, ORACLE versi 6 dan 7, Kemajuan, Rdb versi 4 dan 6, SQL/400 versi 2 dan 3 , SQLBase versi 5 dan 6, SQL Server versi 4 dan 6, Sybase versi 4.2, Sybase System 10 dan 11, Watcom SQL. Perhatikan bahwa versi DBMS utama yang paling modern dan sebelumnya didukung (Gbr. 8).

Beras. 8. Memilih DBMS untuk membuat model

ERwin juga mendukung DBMS desktop (desktop): Microsoft Access, FoxPro, Clipper, dBASE III, dBASE IV dan Paradox.
Perancangan pada lapisan fisik dilakukan dalam hal database yang seharusnya digunakan dalam sistem. Adalah penting bahwa ERwin "mengetahui" korespondensi antara kemampuan DBMS dari vendor yang berbeda, sehingga dimungkinkan untuk mengubah skema fisik yang dirancang untuk satu DBMS ke yang lain.
Untuk membuat struktur fisik database, pembuatan skrip DDL (bahasa definisi data) dapat diminta. Ini menggunakan dialek SQL untuk jenis dan versi server yang dipilih. Meskipun kode yang dihasilkan tidak perlu dimodifikasi, dimungkinkan untuk menyimpannya ke file atau mencetaknya.

Dukungan untuk alat 4GL

ERwin tersedia dalam beberapa edisi berbeda yang menargetkan alat pengembangan 4GL yang paling umum. Alat yang didukung termasuk PowerBuidler oleh Powersoft, SQL Windows oleh Gupta, Visual Basic oleh Microsoft, Oracle*CASE oleh Oracle.
Interaksi database dua arah ERwin menyediakan manajemen informasi back-end dan client-side. Misalnya, untuk PowerBuilder, Anda dapat melihat/mengedit atribut tambahan di editor ERwin.
Fokus ERwin pada alat 4GL memungkinkan Anda untuk mengatur untuk aplikasi masa depan sebagian besar parameter yang terkait langsung dengan database, sudah pada tahap desain model informasi.
Mari kita tunjukkan prinsip-prinsip mengatur interaksi tersebut pada contoh PowerBuilder.
PowerBuilder membuat beberapa tabel internal dalam database untuk menyimpan repositorinya (atribut yang diperluas untuk datawindow). Penggunaan atribut yang diperluas memastikan bahwa gaya tampilan kolom database yang sama dipertahankan untuk semua aplikasi yang dibuat oleh tim. Atribut yang diperluas mengatur parameter seperti format tampilan, gaya pengeditan, ekspresi validasi, nilai awal, perataan, lebar dan tinggi elemen tampilan, label formulir edit, judul tampilan tabel.
Operasi sinkronisasi yang sama diperbolehkan untuk atribut yang diperluas seperti untuk keseluruhan model, yaitu deskripsi dapat dimuat ke dalam database dan, sebaliknya, definisi atribut yang diperluas yang dibuat dari lingkungan PowerBuilder dapat dimuat dari database ke ERwin untuk modifikasi.
Contoh pendefinisian atribut yang diperluas ditunjukkan pada Gambar 9.

Beras. 9. Mengatur Atribut PowerBuilder Extended

Fungsi ERwin untuk menghasilkan DataWindow memungkinkan Anda membuat prototipe jendela data dari aplikasi masa depan yang sudah pada tahap pembuatan model informasi. Untuk membuat Windows Data, Wizard ditawarkan, dengan bantuan gaya jendela dan kolom tabel yang dipilih ditentukan.

Pertimbangkan siklus pengembangan menggunakan contoh yang disediakan dalam artikel Codd.
Mari kita ingat secara singkat sisi isi dari masalah. Catatan karyawan dipelihara. Untuk setiap karyawan, informasi disimpan tentang anak-anak dan daftar posisi yang dipegang oleh karyawan ini. Untuk posisi, informasi tentang gaji resmi yang ditetapkan disimpan.
Pertama, mari kita buat level logis dari model. Untuk melakukan ini, atur mode tampilan untuk entitas (Tampilan/Tingkat Entitas). Menggunakan toolbar, kita akan membuat entitas "karyawan", "anak-anak", "riwayat pekerjaan", "riwayat gaji". Kami akan memberi nama entitas dalam bahasa Rusia.
Setelah memilih setiap entitas, kami akan menetapkan deskripsi terperinci untuknya dalam bahasa Rusia di editor "Definisi Entitas". Deskripsi ini akan muncul dalam laporan ERwin dan dapat ditampilkan dalam diagram.
Mari kita tentukan koneksi antar entitas. Misalnya, "karyawan" memiliki hubungan pengenal "adalah orang tua" dengan entitas "anak". Deskripsi hubungan dimasukkan dalam editor "Editor/Hubungan".
Hasil pekerjaan ditampilkan pada diagram ERwin (Gbr. 2).

Beras. 2. Diagram tingkat entitas

Sekarang mari kita beralih ke mode pengaturan atribut (Tampilan/Tingkat Atribut). Di editor "Entitas/Atribut", mari atur nama atribut kunci dan non-kunci dalam bahasa Rusia. Perhatikan bahwa untuk entitas anak "anak", atribut kunci "nomor karyawan" tidak ditentukan secara manual. ERwin menyediakan migrasinya dari entitas induk. Hal yang sama terjadi dengan entitas anak lainnya.
Untuk atribut "nama" dari entitas "karyawan", kami menunjukkan bahwa itu adalah kunci alternatif (kami akan menganggap bahwa semua karyawan memiliki nama depan/belakang yang unik). Untuk melakukan ini, setelah nama atribut, kami menempatkan pointer AK1 dalam tanda kurung.
Hasil kerja ditampilkan pada diagram ERwin (Gbr. 3) dalam notasi IDEF1X.

Beras. 3. Diagram level atribut dalam notasi IDEF1X

Tampilan diagram yang sama dalam notasi IE (Teknik Informasi) ditunjukkan pada Gbr.4.

Beras. 4. Diagram Level Atribut dalam Notasi IE

Karena nama atribut dan entitas ditetapkan oleh kami dalam bahasa Rusia, untuk menuju ke tingkat fisik model, mereka harus dikaitkan dengan pengidentifikasi tabel, kolom, dan batasan yang memenuhi aturan DBMS target (biasanya ini berarti menggunakan huruf latin, angka, dan beberapa karakter khusus).
Di editor "Skema Basis Data", tentukan nama tabel yang sesuai untuk setiap entitas. Kemudian, di editor "Definisi Atribut", kami menetapkan nama kolom tabel yang sesuai dengan atribut entitas. ERwin juga menyediakan migrasi nama kolom ke tabel bawahan.
Pada tahap ini, Anda juga dapat menggunakan editor "Extended Attributes" untuk menentukan atribut tambahan PowerBuilder (format tampilan, edit mask, aturan kontrol, perataan, judul, dan komentar).
Editor "Definisi Hubungan" menentukan nama fisik hubungan, yang sesuai dengan nama batasan yang dibuat oleh ERwin dalam database.
Sekarang semuanya sudah siap untuk membuat database dan Anda perlu memilih DBMS target (jika ini belum pernah dilakukan sebelumnya). Mari kita pilih, misalnya, Sybase System 10.
Di editor Skema Basis Data SYBASE, kami mengatur tipe data untuk kolom tabel.
Dialog di mana tipe data dipilih ditunjukkan pada Gbr.5.

Beras. 5. Definisi model fisik

Sekarang kita dapat melanjutkan ke pembuatan database. Untuk melakukan ini, perintah "Pembuatan skema Sybase" dijalankan. ERwin akan membangun paket SQL generasi database. Gambar 6 menunjukkan dialog untuk memilih parameter untuk menghasilkan paket untuk menghasilkan database. Gambar tersebut menunjukkan bahwa filter dapat diatur (pembuatan tidak semua tabel), paket pernyataan SQL dapat dilihat (pratinjau), dicetak, disimpan ke file (laporan), dan dihasilkan (dihasilkan).

Beras. 6. Memilih opsi pembuatan basis data

Fitur-fitur canggih dari ERwin

Lab #5

Objektif:

Latihan:

Urutan kerja

Mengenal antarmuka pengguna

· Unduh program Erwin.

Pada kotak dialog yang muncul, pilih tombol radio Buat Model Baru. Sebuah dialog akan muncul di layar. Buat Model - Pilih Template, di mana Anda ingin memilih tingkat simulasi.

Erwin memiliki dua level simulasi: logis dan fisik. di logis tingkat, data disajikan seperti yang akan muncul di dunia nyata. Objek level logis adalah entitas dan atribut.

di fisik tingkat, model tergantung pada implementasi tertentu dari database yang dipilih oleh pengguna. Ketika model pindah ke lapisan fisik, entitas diubah menjadi tabel, dan atribut menjadi bidang, sehingga semua nama dan deskripsi model fisik harus sesuai dengan konvensi yang diadopsi untuk DBMS yang dipilih.

Pasang sakelar Logis/Fisik untuk membuat model dengan lapisan logis dan fisik.

Di lapangan Basis Data dan Versi: kapan menentukan jenis dan versi server yang modelnya dibuat. Pilih Access, 2000 dari daftar. Klik Oke.

· Jendela program utama akan muncul di layar.

Di bagian atas jendela adalah baris judul, yang berisi nama program, nama model, nama subset (Area Subjek) dan tampilan yang disimpan (Tampilan Tersimpan). Bagian utama dari ruang program ditempati oleh ruang kerja di mana diagram ER dibuat.

Untuk beralih antara level logis dan fisik, ada daftar di toolbar (Gbr. 1.1).

Selain daftar ini, ada tombol pada toolbar (lihat Tabel 1.1).

Tabel 1.1.

Tombol yang terletak di bilah alat program Erwin

Tombol Tujuan
Buat, buka, simpan, dan cetak model
Memanggil Dialog Peramban Laporan untuk Menghasilkan Laporan
Perubahan Level Tampilan Model: Level Entitas, Level Atribut, Level Definisi
Ubah skala tampilan model
Pembuatan skema DB, penyelarasan skema dengan model dan pemilihan server (hanya tersedia di tingkat model fisik)
Beralih di antara area model Area Subjek


Untuk pekerjaan langsung dengan elemen model, program memiliki palet alat (Erwin Toolbox), yang merupakan "jendela mengambang" (Gbr. 1.2). Jika perlu, palet alat dapat dihapus dari layar dan dipanggil dengan menekan kombinasi tombol CTRL-T.

Beras. 1.2. Palet alat pada tingkat logis

Memperkenalkan Entitas ke dalam Model

Pada tahap ini, perlu untuk memperkenalkan entitas berikut ke dalam model, yang diidentifikasi sebagai hasil analisis area subjek (pengiriman barang sesuai dengan kontrak): pembeli, kontrak, faktur, barang, gudang.

Pilih pada toolbar (ERwin Toolbox) tombol Esensi dengan mengkliknya dengan penunjuk mouse. Kemudian klik pada tempat pada diagram di mana Anda ingin menempatkan entitas baru. Sebuah persegi panjang akan muncul di bidang diagram, menggambarkan entitas baru, dengan nama yang dibuat secara otomatis "E/1".

Masukkan nama entitas " Pembeli" dan tekan Memasuki.

· Dengan cara yang sama, masukkan empat entitas lagi ke dalam diagram: kontrak, faktur, produk, gudang.

Dengan mengklik kanan pada entitas dan memilih item dari menu konteks Properti Entitas, Anda dapat menghubungi editor entitas Entitas(Gbr. 1.6), yang memungkinkan Anda mengubah properti entitas yang dipilih. Editor entitas juga dapat dipanggil dari menu utama: Model | entitas.



Beras. 1.6. Editor entitas

Di bagian atas jendela editor ada daftar semua entitas yang ada dalam diagram. Dengan itu, Anda dapat memilih entitas yang propertinya ingin Anda lihat atau ubah. Secara default, entitas yang dipilih dalam diagram adalah entitas yang diklik. Selanjutnya, ada bidang Nama, yang menampilkan nama entitas. Nama dapat diedit.

Di bawah ini di jendela editor adalah sejumlah tab:

Definisi(definisi) - pada halaman ini Anda memasukkan definisi entitas.

Catatan, Catatan2, Catatan3(catatan) - digunakan untuk memasukkan teks arbitrer yang terkait dengan entitas, seperti data sampel dan kueri.

UDP- properti yang ditentukan pengguna.

ikon(ikon) - untuk kejelasan, setiap entitas dapat diberi ikon yang ditampilkan di sebelah namanya.

Untuk setiap entitas, masukkan definisi definisi.

Grup kunci

Aktifkan editor keygroup Grup Kunci, dengan mengklik kanan pada entitas Pembeli dan memilih dari menu konteks Grup Kunci. Editor keygroup juga dapat dipanggil dari menu utama: Model | kelompok kunci.

Editor keygroup berisi kontrol:

kesatuan– bidang dengan daftar drop-down di mana Anda harus memilih entitas untuk diedit.

Jendela dengan daftar grup kunci. Setiap grup diwakili oleh baris terpisah, termasuk nama (Key Group), jenis (Type) dan definisi (Definition).

Selain itu, dialog editor keygroup berisi tab berikut:

ü Anggota (member). Anggota kelompok kunci dan urutan mereka dalam kelompok ditentukan.

ü Umum (pengaturan umum). Sakelar yang memungkinkan Anda mengatur jenis grup kunci. Untuk kunci utama dan asing, grup ini tidak tersedia.

ü Definisi (definisi). Informasi tekstual arbitrer terkait dengan grup kunci yang dipilih.

ü Catatan (catatan). Catatan untuk grup yang dipilih.

ü UDP (properti khusus).

Klik tombol Baru.

· Di jendela Grup Kunci Baru di lapangan Grup Kunci masukkan nama grup kunci TIMAH. di lapangan Indeks nama indeks yang dihasilkan Erwin ditampilkan. Biarkan tidak berubah.

Mengalihkan Jenis Grup Kunci menentukan jenis kunci yang dihasilkan. Ini bisa berupa Kunci Alternatif atau Entri Pembalikan. Pilih Kunci Alternatif dan tekan Oke. Kunci alternatif yang baru dimasukkan akan muncul dalam daftar kunci.



Pergi ke bookmark Anggota. Kunci baru belum berisi atribut apa pun, jadi daftar yang benar Anggota Kelompok Kunci(anggota grup kunci) kosong. Pilih atribut dari daftar di sebelah kiri TIMAH dan pindahkan ke daftar kanan menggunakan tombol panah (lihat Gambar 1.8).

Beras. 1.8. Editor Grup Kunci

· Dengan cara yang sama, buat grup kunci untuk input terbalik yang ditunjukkan pada Tabel. 1.3.

Lab #6

Menentukan Aturan Integritas Referensial Deklaratif

· Makhluk secara logis tingkat model data, pilih hubungan "menyimpulkan" antara entitas Pembeli dan Kontrak dengan mengkliknya dengan penunjuk mouse. Kemudian tekan tombol kanan mouse dan pilih item di menu konteks Properti Hubungan(editor tautan).

Di jendela editor tautan hubungan pergi ke tab Tindakan R.I. Biasakan diri Anda dengan aturan integritas referensial untuk hubungan "Pembeli - Kontrak", yang ditetapkan secara default. Data pengaturan mencegah penyisipan dan modifikasi instance entitas anak, serta penghapusan dan modifikasi entitas induk. Ini berarti bahwa tidak diperbolehkan untuk menghapus atau mengubah pembeli jika database berisi kontrak yang dibuat dengannya, serta memasukkan kontrak tanpa menentukan pembeli atau dengan mengacu pada pembeli yang tidak ada. Dengan demikian, kami memenuhi kondisi yang menurutnya kontrak hanya dapat ada untuk pembeli tertentu.

· Tinjau aturan integritas referensial yang ditetapkan untuk semua tautan lainnya.

Aturan default yang ditetapkan ke tautan dapat diubah dengan memilih nilai yang diinginkan dari daftar drop-down.

Normalisasi data

Dapat dilihat dari model bahwa terdapat beberapa atribut TEL pada entitas Buyer. Pelanggan dapat memiliki beberapa nomor telepon, yang merupakan pelanggaran bentuk normal pertama, yang mengharuskan semua nilai atribut menjadi atomik. Oleh karena itu, perlu untuk memisahkan atribut TEL menjadi entitas yang terpisah.

· Buat entitas Telepon yang berisi atribut berikut: TEL_CODE (kunci utama, tipe - nomor) dan TEL (tipe - string).

· Kaitkan entitas Pelanggan dan Telepon dengan hubungan pengenal. Setel daya tautan - Satu atau Lebih (P) dan masukkan nama koneksi - Memiliki.

Pilihan server

Jalankan perintah basis data | Pilih Basis Data.

· Dalam kotak dialog Erwin/ERX - Server Target anda perlu mengatur jenis server - Mengakses dan versinya 2000 . Ini juga menentukan tipe data default dan kondisi NULL untuk kolom yang baru dibuat. Beberapa opsi dalam kotak dialog ini bergantung pada jenis server yang dipilih.

· Setelah memilih server, tekan tombol Oke.

Denormalisasi data

Ada dua hubungan banyak-ke-banyak dalam model: Item - Kontrak dan Item - Faktur, yang harus diselesaikan pada tingkat fisik. Hasil penyelesaian tautan ini disajikan pada Tabel. 2.1.

Tabel 2.1.

Hasil penyelesaian hubungan banyak ke banyak

Penyelesaian hubungan banyak ke banyak dilakukan secara otomatis saat berpindah ke lapisan fisik, atau menggunakan wizard khusus Banyak Penyihir Transformasi Hubungan.

· Untuk memanggil wizard ini, pilih tautan “Barang – Kontrak” dengan mengkliknya dengan penunjuk mouse. Kemudian tekan tombol kanan mouse dan pilih item di menu konteks Buat Tabel Asosiasi(membuat tabel asosiatif). Dialog pertama wizard akan muncul di layar, berisi teks tentang tujuannya.

Masuk ke lapangan nama tabel(nama tabel) - Pengiriman_Rencana. di lapangan Komentar Tabel(komentar ke tabel) masukkan teks: Informasi tentang pasokan barang di bawah kontrak.

· Tabel baru Delivery_Plan muncul pada model, dihubungkan dengan hubungan identifikasi dengan tabel Barang dan Kontrak.

· Tabel baru harus dilengkapi dengan tiga kolom (lihat Tabel 2.1). Untuk melakukan ini, pilih tabel Pengiriman_Rencana dengan mengkliknya dengan penunjuk mouse. Kemudian tekan tombol kanan mouse dan pilih item di menu konteks Kolom ( editor kolom) . Bekerja dengan editor ini mirip dengan bekerja dengan editor atribut.

· Secara mandiri masukkan tiga kolom baru sesuai dengan tabel. 2.1.

· Menggunakan metode yang dijelaskan di atas (menggunakan wizard), mengubah hubungan "Barang - Faktur" dan melengkapi tabel asosiatif yang dihasilkan Pengiriman dengan dua kolom sesuai dengan Tabel. 2.1.

Menetapkan aturan validasi

Menentukan Daftar Nilai yang Valid

Sesuai dengan bidang subjek yang sedang dipertimbangkan, untuk bidang RATE_VAT dari tabel Produk, mari atur daftar nilai yang valid: 0, 10, dan 18%.

kolom.

· Di jendela editor di lapangan Kolom- TINGKAT PPN.

· Buka tab DBMS yang dipilih – Mengakses.

· Sah.

dalam dialog Aturan Validasi klik tombol Baru.

dalam dialog Aturan Validasi Baru di lapangan Logis masukkan nama aturan Memeriksa tarif PPN. Klik tombol Oke.

Pergi ke bookmark Umum. Dalam grup Tipe atur opsi Daftar Nilai yang Valid.

· Di lapangan Nilai yang Sah pada baris pertama, masukkan 0. Pada baris kedua dan ketiga, masukkan nilai: 10 dan 18.

· Periksa di bagian atas jendela editor Aturan Validasi garis muncul: Memeriksa tarif PPN(Nama Validasi) DI (0, 10, 18)(Aturan Validasi).

·Klik OKE. Di jendela editor kolom di bookmark Mengakses di lapangan Sah nama aturan yang dibuat muncul - "Memeriksa tarif PPN".

Menetapkan Nilai Default

Mari buat aturan yang dengannya nilai tanggal saat ini akan diganti di bidang DATE_DOG dari tabel Perjanjian secara default.

Panggil menu konteks tabel Perjanjian dan pilih item kolom.

· Di jendela editor di lapangan Kolom pilih kolom yang aturannya akan ditetapkan – TANGGAL_DOG.

Ditandai Mengakses klik tombol yang terletak di sebelah kanan daftar drop-down Bawaan.

· Dalam kotak dialog Nilai Default/Awal klik tombol Baru.

dalam dialog Nilai Default Baru di lapangan Logis masukkan nama aturan Tanggal saat ini. Klik tombol Oke.

Ditandai Mengakses di lapangan Nilai Server - Akses Default memasuki Tanggal()(fungsi yang menerima nilai tanggal saat ini).

·Klik OKE. Di jendela editor kolom di bookmark Mengakses di lapangan Bawaan nama aturan yang dibuat muncul - "Tanggal saat ini".

· Tetapkan aturan yang sama untuk bidang DATE_SHIPMENT dari tabel Faktur. Untuk melakukan ini, di jendela editor kolom Kolom pilih bidang DATE_OTGR dan pada tab Akses di bidang Bawaan pilih aturan dari daftar drop-down Tanggal saat ini.

Menentukan Aturan Validasi Input

Mari buat aturan untuk memeriksa nilai input untuk bidang PRICE dari tabel Produk, yang menurutnya bidang ini tidak boleh memiliki nilai kurang dari 0.

Panggil menu konteks tabel Produk dan pilih item kolom.

· Di jendela editor di lapangan Kolom pilih kolom yang aturannya akan ditetapkan - HARGA.

Ditandai Mengakses klik tombol yang terletak di sebelah kanan daftar drop-down Sah.

dalam dialog Aturan Validasi klik tombol Baru.

dalam dialog Aturan Validasi Baru di lapangan Logis masukkan nama aturan cek harga. Klik tombol Oke.

Pergi ke bookmark Umum. Dalam grup Tipe atur opsi min/maks.

· Di lapangan min enter 1. Selain batas bawah rentang nilai, di sini Anda juga dapat mengatur batas atas ( Maks).

Di bagian atas jendela editor Aturan Validasi yang baru dibuat telah ditambahkan ke daftar aturan validasi: Cek harga >=1.

Klik tombol Oke.

Lab #7

Perhitungan ukuran basis data

Objektif:

Untuk menguasai metodologi untuk menghitung ukuran database, diimplementasikan di Erwin.

Lab #8

Membuat laporan di Erwin

Objektif:

studi tentang jenis laporan;

· Pelajari cara membuat laporan

Lab #5

Dasar-dasar bekerja di Erwin. Membangun model data logis

Objektif:

· menguasai keterampilan bekerja di Erwin;

· konstruksi model logis dari area subjek tertentu.

Latihan:

Membangun model informasi logis untuk penyediaan barang sesuai dengan kontrak menggunakan alat Erwin.

Deskripsi antarmuka ERwin. Antarmuka CASE dari alat ERwin terdiri dari tiga bagian utama. Yang pertama adalah menu utama dan toolbar.

Tombol-tombol pada toolbar mengulangi beberapa perintah dasar pada menu utama. Menyimpan, membuka, membuat file baru, panel dengan tombol untuk memperbesar atau memperkecil tampilan model, beralih antara model fisik dan logis, beralih antara tampilan yang disimpan, panel untuk mengedit gaya, ukuran dan warna font, panel dengan alat untuk membangun bentuk geometris dan beberapa toolbar bantu (Gbr. 5.3).

Beras. 5.3.

Yang kedua adalah Model Explorer. Ini berisi tiga tab: Model, Area Subjek, dan Domain. Yang paling umum digunakan di Model Explorer adalah tab Domains atau Model (yang berisi semua objek dan model). Di Domain, masing-masing, domain ditampilkan, di Area Subjek - area yang ditampilkan (Gbr. 5.4).

Beras. 5.4.

Dan yang ketiga adalah langsung area yang disediakan untuk membuat model objek, di mana semua objek model dibuat dan diedit. Tab muncul di bagian bawah dengan nama tampilan yang disimpan (Stored Displays) (Gbr. 5.5).


Beras. 5.5.

ERwin memiliki dua tingkat representasi model data: logis dan fisik. tingkat logika- ini adalah tampilan abstrak dari data, di atasnya data disajikan seperti yang terlihat di dunia nyata, misalnya, "Pelanggan", "Lokakarya" atau "Nama belakang Karyawan". Objek model yang direpresentasikan pada level logika disebut entitas dan atribut. Model data logis dapat dibangun di atas model logis lain, seperti model proses. Model data logis bersifat universal dan sama sekali tidak terkait dengan implementasi DBMS tertentu.

Model fisik data, sebaliknya, tergantung pada DBMS tertentu, pada kenyataannya, menjadi tampilan katalog sistem. Model fisik berisi informasi tentang semua objek database. Karena tidak ada standar untuk objek database (misalnya, tidak ada standar untuk tipe data), model fisik bergantung pada implementasi spesifik DBMS. Oleh karena itu, model logis yang sama mungkin sesuai dengan beberapa model fisik yang berbeda. Jika dalam model logis tidak masalah tipe data spesifik apa yang dimiliki suatu atribut, maka dalam model fisik penting untuk menggambarkan semua informasi tentang objek fisik tertentu - tabel, kolom, indeks, prosedur, dll. Membagi model menjadi logika dan fisik memungkinkan Anda untuk menyelesaikan banyak tugas penting.

ERwin memiliki beberapa level tampilan diagram: level entitas, level atribut, level definisi, level kunci utama, dan level ikon. Anda dapat beralih di antara tiga level pertama menggunakan tombol bilah alat. Anda dapat beralih ke level tampilan lain menggunakan menu konteks yang muncul jika Anda “mengklik” tempat mana pun dalam diagram yang tidak ditempati oleh objek model. Di menu konteks, pilih item Tingkat Tampilan dan kemudian tingkat tampilan yang diperlukan. ERwin memungkinkan Anda untuk mengasosiasikan ikon besar dan kecil dengan entitas. Saat beralih ke level ikon, ikon besar ditampilkan. Untuk menampilkan ikon kecil, pilih item Tampilan Entitas/Ikon Entitas dari menu konteks. Ikon kecil akan ditampilkan di sebelah kiri nama entitas di semua tingkat tampilan model.

Mengatur warna dan font. Ada beberapa cara untuk mengatur font dan warna objek di ERwin. Pertama, untuk mengatur warna dan font objek, gunakan Font and Color Toolbar, yang terletak di bawah panel utama. Untuk mengedit font dan warna objek tertentu, dengan mengklik kanan entitas atau hubungan dan memilih item Font & Warna Objek... dari menu pop-up, panggil dialog Editor Font/Warna, yang mendefinisikan nama, deskripsi, dan komentar entitas. Dalam dialog Editor Font/Warna, Anda dapat memilih font dan mengatur ukuran, gaya, dan warnanya, mengatur warna isian (properti Fill Color, untuk entitas saja) dan warna garis (properti Outline Color, hanya untuk entitas).

Saat membuat model data nyata, jumlah entitas dan atribut bisa mencapai ratusan. Untuk pekerjaan yang lebih nyaman dengan model besar, ERwin menyediakan subset model (Area Subjek), di mana Anda dapat menyertakan entitas yang umum secara tematis. Subset model dapat mencakup kumpulan entitas, hubungan, dan komentar teks yang berubah-ubah. Untuk membuat, menghapus, atau mengedit subset model, Anda perlu memanggil dialog Area Subjek (menu Model/Area Subjek...), di mana Anda menentukan nama subset dan entitas yang disertakan di dalamnya. Semua perubahan yang dibuat di Area Subjek mana pun secara otomatis tercermin pada model umum. Entitas yang sama dapat dimasukkan dalam beberapa Area Subjek.

Tampilan Tersimpan- representasi dari subset model, menampilkan aspek tertentu dari struktur data. Satu Area Subjek dapat mencakup beberapa pemetaan yang disimpan. Tampilan yang disimpan mencakup entitas dan hubungan yang sama seperti di Area Subjek, tetapi mereka dapat ditempatkan secara berbeda di layar, memiliki level yang berbeda, skala dan warna objek atau latar belakang yang berbeda.

Untuk membuat tampilan tersimpan, gunakan dialog Tampilan Tersimpan (menu Format/Pengaturan Tampilan Tersimpan...). Untuk beralih di antara tampilan yang disimpan, gunakan tab di bagian bawah diagram.

Komponen utama dari diagram ERwin adalah entitas, atribut, dan hubungan. Setiap entitas adalah sekumpulan objek individu yang serupa, yang disebut instance. Setiap instance bersifat individual dan harus berbeda dari semua instance lainnya. Atribut mengekspresikan properti tertentu dari suatu objek. Dari sudut pandang database (model fisik), entitas sesuai dengan tabel, turunan dari entitas - baris dalam tabel, dan atribut - kolom tabel.

Pembuatan model data logis untuk area subjek "Furniture to order". Model logis yang dibuat mengulangi struktur IS yang dirancang. Untuk membuat entitas di area untuk membuat model objek, perlu (setelah memastikan bahwa Anda berada di level model logis: peralihan antara model logis dan fisik adalah daftar drop-down di sisi kanan toolbar) “klik” tombol entitas pada toolbar ( ERwin Toolbox) Q , lalu klik tempat pada diagram di mana Anda ingin menempatkan entitas baru. Dengan mengklik kanan pada entitas dan memilih Properti Entitas... dari menu pop-up, Anda dapat memanggil dialog Entitas, yang mendefinisikan nama, deskripsi, dan komentar entitas (misalnya, nama entitas - pemasok, deskripsi - data pemasok). Setiap entitas didefinisikan dengan deskripsi tekstual pada tab Definisi. Tab Catatan, Catatan 2, Catatan 3, UDP (Properti Buatan Pengguna) digunakan untuk menambahkan komentar tambahan ke entitas. Langkah selanjutnya adalah membuat atribut entitas. Seperti disebutkan di atas, setiap atribut menyimpan informasi tentang properti tertentu dari suatu entitas, dan setiap instance dari suatu entitas harus unik. Sebuah atribut atau sekelompok atribut yang mengidentifikasi suatu entitas disebut kunci primer. Untuk membuat atribut, klik kanan pada entitas dan pilih item Atribut... dari menu yang muncul.Dialog Atribut muncul. Jika Anda mengklik tombol New..., maka pada dialog Atribut Baru yang muncul, tentukan nama atribut, nama kolom yang sesuai dengannya dalam model fisik, dan domain (misalnya, nama atribut atribut adalah nama pemasok). Domain atribut akan digunakan saat mendefinisikan tipe kolom pada level model fisik. Atribut kunci utama pada tab Umum dari dialog Atribut harus dicentang di kotak pilihan Kunci Utama.

Untuk menampilkan ikon atribut, pilih item Tampilan Entitas di menu konteks dan aktifkan opsi Ikon Atribut di menu kaskade. Ikon kecil akan ditampilkan di sebelah kiri nama atribut pada tingkat atribut tampilan model. Nama entitas ditampilkan di atas persegi panjang yang menggambarkan entitas, daftar atribut entitas ditampilkan di dalam persegi panjang. Daftar dipisahkan oleh bilah horizontal, di atasnya adalah atribut kunci utama, di bawahnya adalah atribut non-kunci. Atribut harus diberi nama dalam bentuk tunggal dan memiliki arti semantik yang jelas. Kepatuhan terhadap aturan ini memungkinkan Anda untuk menyelesaikan sebagian masalah normalisasi data yang sudah pada tahap mendefinisikan atribut. Misalnya, membuat atribut Telepon Pemasok di entitas Vendor bertentangan dengan persyaratan normalisasi, karena atribut harus atomik, yaitu, tidak berisi beberapa nilai. Menurut sintaks IDEF1X, nama atribut harus unik di dalam model (tidak hanya di dalam entitas!). Setiap instance entitas harus unik dan berbeda dari atribut lainnya. Langkah selanjutnya dalam membuat model adalah membangun hubungan antar entitas. Setiap hubungan harus disebut kata kerja atau frase kata kerja (Frase Kata Kerja Hubungan Gambar 5.6). Nama relasi mengungkapkan beberapa batasan atau aturan bisnis dan membuat diagram lebih mudah dibaca, misalnya:

Setiap PESANAN PELANGGAN;

Setiap DESAIN PESANAN.

Beras. 5.B. Nama Hubungan - Frase Kata Kerja Hubungan

Untuk membuat koneksi baru:

  • tempatkan kursor pada tombol yang diperlukan di palet alat (hubungan identifikasi atau non-identifikasi) dan tekan tombol kiri mouse;
  • klik pertama pada induk dan kemudian pada entitas anak. Ketika hubungan dibuat antara entitas, atribut kunci utama dari entitas induk dimigrasikan sebagai kunci asing ke entitas anak. Secara default, nama tautan tidak ditampilkan pada diagram. Untuk menampilkan nama, gunakan menu konteks yang muncul jika Anda mengklik kiri di sembarang tempat dalam diagram yang tidak ditempati oleh objek model, pilih item Tampilan Hubungan dan aktifkan opsi Frasa Kata Kerja di menu konteks.

Model data logis dari area subjek "Furniture to order" ditunjukkan pada gambar. 5.7.


Beras. 5.7.

Model atribut lengkap mewakili data dalam bentuk normal ketiga dan mencakup semua entitas, atribut, dan hubungan, dan ditunjukkan pada Gambar. 5.8.

Pada tingkat entitas, model ditunjukkan pada Gambar. 5.9.

pada gambar. Gambar 5.10 menyajikan model data pada tingkat definisi.

Beras. 5.8.

Beras. 5.E. Lapisan Entitas Model Data