Model logik dan fizikal dalam pemodel data erwin. Mewujudkan hubungan antara entiti Apakah peranan atribut dalam erwin

Penciptaan sistem maklumat moden adalah tugas yang kompleks, penyelesaiannya memerlukan penggunaan teknik dan alat khas. Tidak menghairankan bahawa baru-baru ini di kalangan penganalisis dan pembangun sistem terdapat peningkatan yang ketara dalam minat dalam CASE (Computer-Aided Software/System Engineering) - teknologi dan alatan CASE yang memungkinkan untuk mensistematisasi dan mengautomasikan semua peringkat pembangunan perisian secara maksimum.

Buku yang ditawarkan kepada pembaca adalah panduan praktikal untuk mencipta sistem maklumat menggunakan alat analisis, reka bentuk dan penjanaan kod yang berkesan daripada teknologi PLATINUM - BPwin dan ERwin. Ia juga mengandungi penerangan tentang kaedah analisis struktur dan reka bentuk model data setakat yang diperlukan untuk kerja amali. Aplikasi kaedah digambarkan dengan contoh.

Buku ini ditulis berdasarkan pengalaman peribadi penulis yang diperoleh semasa membangunkan sistem maklumat, memberi kuliah dan mengendalikan kelas praktikal mengenai teknologi CASE dan alat CASE di Pusat Latihan syarikat Interface Ltd. Ia ditujukan kepada pakar dalam bidang teknologi maklumat: penganalisis sistem, pengurus projek, pembangun - dan juga boleh berguna untuk pelajar sarjana dan siswazah yang mempelajari asas analisis sistem dan reka bentuk sistem maklumat.

Buku:

Hubungan ialah hubungan logik antara entiti. Setiap hubungan hendaklah dipanggil kata kerja atau frasa kerja (Frasa Kerja Hubungan) (Rajah 2.20). Nama perhubungan menyatakan beberapa kekangan atau peraturan perniagaan dan menjadikan gambar rajah lebih mudah dibaca, contohnya:

Setiap PELANGGAN <размещает> PESANAN;

Setiap pesanan <выполняется> PEKERJA.

nasi. 2.20. Nama Hubungan - Frasa Kata Kerja Hubungan

Sambungan menunjukkan pesanan yang telah dibuat oleh pelanggan dan pekerja yang memenuhi pesanan tersebut. Secara lalai, nama sambungan tidak ditunjukkan dalam rajah. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kiri pada mana-mana tempat dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Perhubungan dan kemudian dayakan pilihan Frasa Kata Kerja.

Pada peringkat logik, anda boleh mewujudkan perhubungan mengenal pasti satu-ke-banyak, perhubungan banyak-ke-banyak dan perhubungan tidak mengenal pasti satu-ke-banyak (masing-masing, ini ialah butang dari kiri ke kanan dalam alat palet).

IDEF1X membezakan antara entiti bergantung dan bebas. Jenis entiti ditentukan oleh hubungannya dengan entiti lain. Hubungan mengenal pasti diwujudkan antara entiti bebas (hujung induk perhubungan) dan bergantung (hujung kanak-kanak perhubungan). Apabila perhubungan mengenal pasti dilukis, ERwin secara automatik menukar entiti anak kepada entiti bergantung. Entiti bergantung diwakili oleh segi empat tepat dengan bucu bulat (entiti Pesanan dalam Rajah. 2.21). Contoh entiti bergantung hanya ditakrifkan melalui hubungannya dengan entiti induk, iaitu, dalam struktur dalam Rajah. 2.21 maklumat tentang pesanan tidak boleh dimasukkan dan tidak bermakna tanpa maklumat tentang pelanggan yang meletakkannya. Apabila perhubungan mengenal pasti diwujudkan, atribut kunci utama entiti induk dipindahkan secara automatik ke kunci utama entiti anak. Operasi menambah atribut kepada entiti anak semasa membuat perhubungan dipanggil migrasi atribut. Dalam entiti anak, atribut baharu ditandakan sebagai kunci asing - (FK).

nasi. 2.21. Hubungan mengenal pasti antara jadual bebas dan bergantung

Pada masa hadapan, apabila menjana skema pangkalan data, atribut kunci utama akan menerima atribut NOT NULL, yang bermaksud adalah mustahil untuk membuat entri dalam jadual pesanan tanpa maklumat tentang nombor pelanggan.

Apabila perhubungan tidak mengenal pasti diwujudkan (Rajah 2.22), entiti anak kekal bebas dan atribut utama utama entiti induk berhijrah kepada komponen bukan kunci entiti induk. Hubungan tidak mengenal pasti digunakan untuk memautkan entiti bebas.

nasi. 2.22. Hubungan tidak mengenal pasti

Contoh entiti Pekerja boleh wujud bebas daripada sebarang kejadian entiti Jabatan, iaitu pekerja boleh bekerja dalam organisasi tanpa berdaftar di mana-mana jabatan.

Sambungan mengenal pasti ditunjukkan pada rajah sebagai garis pepejal dengan titik tebal pada hujung kanak-kanak sambungan (lihat Rajah 2.21), satu tidak mengenal pasti ditunjukkan sebagai garis putus-putus (Rajah 2.22).

Untuk membuat sambungan baharu:

letakkan kursor pada butang yang dikehendaki dalam palet alat (mengenal pasti atau tidak mengenal pasti sambungan) dan klik butang kiri tetikus (Gamb. 2.2);

Klik pertama pada induk dan kemudian pada entiti anak.

Bentuk talian komunikasi boleh diubah. Untuk melakukan ini, anda perlu merebut talian sambungan yang dikehendaki dengan tetikus dan mengalihkannya dari satu tempat ke satu tempat sehingga garisan itu mula kelihatan lebih baik.

Butang dalam palet alat

Sepadan dengan pautan mengenal pasti, butang

Perhubungan dan butang banyak-ke-banyak

Sepadan dengan perhubungan yang tidak mengenal pasti.

Untuk mengedit sifat perhubungan, klik kanan pada perhubungan dan pilih Editor Perhubungan daripada menu konteks.

Dalam tab Umum dialog yang muncul, anda boleh menetapkan kuasa, nama dan jenis sambungan (Gamb. 2.23).

Kuasa komunikasi (Cardinaliti) - berfungsi untuk menunjukkan nisbah bilangan kejadian entiti induk kepada bilangan kejadian anak.

Terdapat empat jenis kuasa (Gamb. 2.24):

kes umum apabila satu kejadian entiti induk sepadan dengan 0, 1, atau banyak kejadian entiti kanak-kanak tidak ditandakan dengan sebarang simbol;

simbol P menandakan kes apabila satu kejadian entiti induk sepadan dengan 1 atau banyak kejadian entiti anak (nilai sifar dikecualikan);

simbol Z menandakan kes apabila satu contoh entiti induk sepadan dengan 0 atau 1 tika entiti anak (berbilang nilai dikecualikan);

Nombor itu menandakan kes padanan tepat, apabila satu tika entiti induk sepadan dengan bilangan kejadian yang telah ditetapkan bagi entiti anak.

nasi. 2.23. Dialog Editor Perhubungan

Secara lalai, simbol yang mewakili kekuatan pautan tidak ditunjukkan pada rajah. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kiri pada mana-mana tempat dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Perhubungan dan kemudian dayakan pilihan Cardinality.

Frasa Kata Kerja- frasa yang mencirikan hubungan antara entiti ibu bapa dan anak. Untuk perhubungan satu-ke-banyak, mengenal pasti atau tidak mengenal pasti, adalah cukup untuk menentukan nama yang mencirikan perhubungan daripada entiti ibu bapa kepada anak (Ibu bapa kepada Anak). Untuk perhubungan ramai-ke-banyak, nama Ibu Bapa-ke-Anak dan Anak-ke-Ibu bapa mesti dinyatakan.

nasi. 2.24. Penamaan kuasa

Jenis sambungan (mengenal pasti/tidak mengenal pasti). Untuk perhubungan yang tidak mengenal pasti, anda boleh menentukan Nulls. Dalam kes perhubungan mandatori (Tiada Nulls), apabila menjana skema pangkalan data, atribut kunci asing akan menerima atribut NOT NULL, walaupun pada hakikatnya kunci asing tidak akan menjadi sebahagian daripada kunci utama entiti anak. Dalam kes perhubungan pilihan (Nulls Allowed), kunci asing boleh menjadi NULL. Perhubungan tidak mengenal pasti pilihan ditandakan dengan berlian lutsinar pada bahagian entiti induk (lihat Rajah 2.22).

nasi. 2.25. Tab Rolename/RI Actions pada dialog Editor Perhubungan

Dalam tab Definisi, anda boleh memberikan definisi perhubungan yang lebih lengkap supaya boleh merujuknya pada masa hadapan.

Dalam tab Rolename/RI Actions, anda boleh menetapkan nama peranan dan peraturan integriti rujukan.

Nama peranan (nama fungsian) - ia adalah sinonim untuk atribut kunci asing yang menunjukkan peranan yang dimainkan oleh atribut dalam entiti kanak-kanak.

nasi. 2.26. Nama peranan utama asing

Dalam contoh yang ditunjukkan dalam Rajah. 2.26, pada asasnya Pekerja kunci luaran Nombor jabatan mempunyai nama fungsian "Where Works" yang menunjukkan peranan yang dimainkan oleh atribut ini dalam entiti. Secara lalai, hanya nama peranan ditunjukkan dalam senarai atribut. Untuk memaparkan nama penuh atribut (kedua-dua nama fungsi dan nama peranan), dalam menu konteks yang muncul jika anda klik kiri pada mana-mana tempat dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Entiti dan kemudian dayakan pilihan Nama Peranan/ Atribut (Gamb. 2.25). Nama penuh ditunjukkan sebagai nama fungsian dan nama asas yang dipisahkan oleh titik (lihat Rajah 2.26).

Adalah wajib untuk menggunakan nama peranan apabila dua atau lebih atribut entiti yang sama ditakrifkan dalam skop yang sama, iaitu, mereka mempunyai skop yang sama, tetapi makna yang berbeza. Dalam Rajah. 2.27 intipati Penjualan mata wang mengandungi maklumat tentang akta pertukaran mata wang di mana dua mata wang terlibat - dijual dan dibeli. Maklumat tentang mata wang terkandung dalam entiti mata wang. Oleh itu, entiti Penjualan mata wang Dan mata wang mesti dipautkan dua kali dan kunci utama ialah - Nombor mata wang mesti berhijrah ke entiti dua kali mata wang sebagai kunci asing. Adalah perlu untuk membezakan antara atribut ini, yang mengandungi maklumat tentang bilangan mata wang yang dijual dan dibeli (ia mempunyai makna yang berbeza), tetapi merujuk kepada entiti yang sama mata wang (mempunyai julat nilai yang sama). Dalam contoh dalam Rajah. 2.27 atribut menerima nama peranan terjual Dan Dibeli.

nasi. 2.27. Kes nama peranan wajib

Satu lagi contoh penamaan peranan wajib ialah sambungan rekursif(kadangkala dipanggil "kail ikan") apabila entiti yang sama ialah ibu bapa dan anak pada masa yang sama. Apabila mentakrifkan perhubungan rekursif, atribut mesti berhijrah sebagai kunci asing kepada atribut bukan kunci bagi entiti yang sama. Atribut tidak boleh muncul dua kali dalam entiti yang sama di bawah nama yang sama, jadi ia mesti menerima nama peranan. Dalam Rajah. 2.26 intipati Pekerja mengandungi atribut kunci utama Nombor Kakitangan. Maklumat tentang pengurus pekerja terkandung dalam entiti yang sama, kerana pengurus bekerja dalam organisasi yang sama. Untuk merujuk kepada pengurus pekerja, anda harus membuat hubungan rekursif (dalam Rajah 2.26 sambungan adalah pengurus/orang bawahan) dan berikan nama peranan (“Pengurus”). Ambil perhatian bahawa hubungan rekursif hanya boleh tidak mengenal pasti. Jika tidak, kunci asing perlu menjadi sebahagian daripada kunci utama dan menerima atribut NOT NULL apabila menjana skema. Ini akan menjadikannya mustahil untuk membina hierarki - pokok pelaporan mesti mempunyai akar - pekerja yang tidak melaporkan kepada sesiapa dalam organisasi.

Perhubungan arahan/ikut ditunjukkan dalam Rajah. 2.26 membolehkan anda menyimpan hierarki subordinat pekerja seperti pokok. Jenis komunikasi rekursif ini dipanggil rekursi hierarki dan mentakrifkan perhubungan di mana pemimpin (contoh entiti induk) boleh mempunyai ramai orang bawahan (contoh entiti kanak-kanak), tetapi orang bawahan hanya mempunyai seorang ketua (Rajah 2.28).

Rekursi hierarki Rekursi rangkaian


nasi. 2.28. Subordinasi kejadian entiti dalam hierarki dan rekursi rangkaian

Satu lagi jenis rekursi ialah pengulangan rangkaian, apabila seorang pemimpin boleh mempunyai ramai orang bawahan dan, sebaliknya, orang bawahan boleh mempunyai ramai pengurus. Rekursi rangkaian mentakrifkan web perhubungan antara kejadian entiti ibu bapa dan anak. Ini berlaku apabila entiti berada dalam hubungan banyak-ke-banyak dengan dirinya sendiri. Untuk menyelesaikan perhubungan banyak-ke-banyak, anda perlu mencipta entiti baharu (perhubungan banyak-ke-banyak akan dibincangkan secara terperinci di bawah).

nasi. 2.29. Contoh pelaksanaan rekursi rangkaian

Dalam Rajah. 2.29 mempertimbangkan contoh pelaksanaan rekursi rangkaian. Struktur tersebut memodelkan hubungan kekeluargaan antara ahli keluarga dalam sebarang kerumitan. Atribut Jenis perhubungan boleh mengambil makna "bapa-anak", "ibu-anak perempuan", "datuk-cucu", "ibu mertua-menantu perempuan", "bapa mertua", dll Sejak sebuah keluarga hubungan sentiasa menghubungkan dua orang, dari intipati Relatif kepada. intipati persaudaraan dua pautan mengenal pasti diwujudkan dengan nama peranan "Senior" dan "Junior". Setiap ahli keluarga boleh dikaitkan dengan mana-mana ahli keluarga yang lain; lebih-lebih lagi, pasangan saudara yang sama boleh dihubungkan dengan jenis hubungan keluarga yang berbeza.

Jika atribut dipindahkan sebagai kunci asing ke lebih daripada satu tahap, maka nama penuh kunci asing (nama peranan + nama atribut asas) dipaparkan pada tahap pertama dan hanya nama peranan dipaparkan pada kedua atau lebih peringkat. Dalam Rajah. Rajah 2.30 menunjukkan struktur data yang mengandungi entiti pasukan, intipati pemain, yang menyimpan maklumat tentang pemain setiap pasukan, dan entiti Matlamat, mengandungi maklumat tentang gol yang dijaringkan oleh setiap pemain. Atribut kunci asing Nombor pasukan intipati Pemain mempunyai nama peranan "Pasukan manakah dia bermain".

nasi. 2.30. Menghijrahkan nama peranan

Pada peringkat seterusnya, pada asasnya Matlamat, hanya nama peranan atribut kunci asing yang sepadan dipaparkan (Pasukan apa dia main).

Peraturan integriti rujukan (RI) ialah binaan logik yang menyatakan peraturan perniagaan untuk menggunakan data dan mewakili peraturan pemasukan, penggantian dan pemadaman. Apabila menjana skema pangkalan data berdasarkan pilihan model logik yang dinyatakan dalam tab Rolename/RI Actions, peraturan integriti rujukan deklaratif akan dijana, yang mesti ditetapkan untuk setiap perhubungan dan pencetus yang memastikan integriti rujukan. Pencetus ialah atur cara yang dilaksanakan apabila perintah sisip, ganti atau padam (INSERT, UPDATE atau DELETE) dilaksanakan. Dalam Rajah. 2.30 terdapat hubungan mengenal pasti antara entiti Pasukan Dan Pemain. Apa yang berlaku jika anda memadamkan arahan? Contoh entiti Pemain tidak boleh wujud tanpa arahan (atribut kunci utama Dia bermain dalam pasukan apa? Nombor pasukan tidak boleh mengambil nilai NULL), oleh itu, anda perlu sama ada melarang pemadaman pasukan semasa ia mempunyai sekurang-kurangnya seorang pemain (untuk memadam pasukan, anda mesti memadam semua pemain dahulu), atau segera memadam semua pemainnya bersama-sama dengan pasukan. Peraturan pemadaman sedemikian dipanggil "sekatan" dan "lata" (Parent RESTRICT dan Parent CASCADE, lihat Rajah 2.25). Perhatikan bahawa entiti Pemain Dan Matlamat, seterusnya, juga disambungkan oleh pautan mengenal pasti dan jika pasukan dipadamkan dalam lata, semua pemain dalam pasukan dan semua gol yang mereka jaringkan akan dipadamkan. Melaksanakan arahan untuk memadam satu baris sebenarnya boleh membawa kepada pemadaman beribu-ribu baris dalam pangkalan data, jadi anda harus menggunakan peraturan padam lata dengan berhati-hati. Jika peraturan sekatan pemadaman ditetapkan, jika anda cuba memadamkan pasukan yang mempunyai sekurang-kurangnya seorang pemain, pelayan DBMS hubungan akan mengembalikan ralat.

Dalam Rajah. 2.26 perhubungan tidak mengenal pasti pilihan diwujudkan antara entiti Jabatan Dan Pekerja. Contoh entiti Pekerja boleh wujud tanpa rujukan jabatan (atribut kunci asing Di mana dia bekerja? Nombor jabatan boleh NULL). Dalam kes ini, adalah mungkin untuk menetapkan peraturan untuk menetapkannya kepada sifar - SET NULL. Apabila memadamkan jabatan, atribut kunci asing entiti Pekerja - Di mana dia bekerja? Nombor jabatan akan menjadi NULL. Ini bermakna apabila sesuatu jabatan dipadamkan, pekerja itu kekal bekerja dalam organisasi tanpa ditugaskan ke mana-mana jabatan dan maklumat tentangnya disimpan.

Anda boleh menetapkan dua lagi peraturan pemadaman (jika disokong oleh DBMS):

SET LALAI - apabila memadam, atribut kunci asing diberikan nilai lalai. Sebagai contoh, apabila pasukan dipadamkan, pemain boleh dipindahkan ke pasukan lain.

TIADA - apabila dipadamkan, nilai atribut kunci asing tidak berubah. Rekod tentang pemain "bergantung di udara," iaitu, ia merujuk kepada pasukan yang tidak lagi wujud. Keadaan ini adalah tipikal untuk jadual "rata". Sebagai contoh, jika maklumat pemain dan pasukan disimpan dalam fail dbf, anda boleh memadamkan kemasukan pasukan tanpa fail pemain mengetahui apa-apa tentang fakta bahawa pasukan yang sepadan tidak wujud. Oleh itu, pada desktop atau sistem pelayan fail, fungsi yang menguatkuasakan peraturan integriti rujukan dilaksanakan dalam aplikasi klien.

Peraturan pemadaman mengawal perkara yang berlaku dalam pangkalan data apabila baris dipadamkan. Begitu juga, masukkan dan kemas kini peraturan mengawal perkara yang berlaku kepada pangkalan data jika baris ditukar atau ditambah. Sebagai contoh, anda boleh menetapkan peraturan yang membenarkan anda menambah pasukan baharu hanya jika sekurang-kurangnya seorang pemain mendaftar di dalamnya. Tingkah laku yang diingini boleh dicapai dengan tindakan berikut:

Tetapkan kekuatan sambungan antara entiti Pasukan Dan pemain, sama dengan "Satu atau lebih" - 1 atau lebih (jenis P). Diandaikan bahawa hubungan mengenal pasti telah diwujudkan.

Tetapkan tindakan pencetus RI "Parent Insert-CASCADE" supaya apabila baris baharu dibuat dalam jadual Pasukan sekurang-kurangnya satu baris telah dibuat secara automatik dalam jadual anak Pemain.

Tetapkan tindakan pencetus RI "Parent Delete-CASCADE" kepada sambungan supaya apabila satu baris dipadamkan daripada jadual Pasukan baris atau baris yang sepadan daripada jadual Pemain juga telah dikeluarkan.

ERwin secara automatik memberikan nilai integriti rujukan lalai kepada setiap perhubungan sebelum menambahkannya pada rajah. Mod RI yang ditetapkan oleh ERwin secara lalai (ditunjukkan dalam Jadual 2.4) boleh ditukar dalam editor Default Integriti Rujukan, yang dipanggil dengan mengklik pada butang Lalai RI dalam dialog Pelayan Sasaran (menu Pelayan/Pelayan Sasaran).

Jadual 2.4. Nilai RI ditetapkan secara lalai dalam ERwin, serta mod yang mungkin untuk setiap jenis komunikasi

Pautan pengenalan Nulls Dibenarkan Hubungan tidak mengenal pasti (Tiada Nulls) Sambungan kategori
Kanak-kanak Padam Mod yang mungkin TERHAD, TASKA, TIADA TERHAD, LATA, TIADA, TETAPKAN NULL, TETAPKAN LALAI TERHAD, LATA,
TIADA
Kanak-kanak Padam Mod Lalai TIADA TIADA TIADA TIADA
Kanak-kanak Masukkan mod Kemungkinan TERHAD, LATA, TERHAD, LATA, TIADA, TETAPKAN LALAI TERHAD, LATA,
TIADA TIADA
Anak Masukkan Mod Lalai MENYEKAT TETAPKAN NULL MENYEKAT MENYEKAT
Kemas Kini Kanak-kanak Mod yang mungkin TERHAD, TASKA, TIADA TERHAD, LATA, TIADA, TETAPKAN NULL, TETAP LAALA TERHAD, LATA, TIADA, TETAPKAN LALAI TERHAD, TASKA, TIADA
Mod Lalai Kemas Kini Kanak-kanak MENYEKAT TETAPKAN NULL MENYEKAT MENYEKAT
Ibu Bapa Padam mod Kemungkinan TERHAD, TASKA, TIADA TERHAD, LATA, TIADA, TETAPKAN NULL, TETAP LAALA TERHAD, LATA, TIADA, TETAPKAN LALAI TERHAD, LATA,
TIADA
Ibu Bapa Padamkan Mod Lalai MENYEKAT TETAPKAN NULL MENYEKAT CASCADE
Mod Insert Induk Kemungkinan TERHAD, TASKA, TIADA TERHAD, LATA, TIADA, TETAPKAN NULL, TETAP LAALA TERHAD, LATA, TIADA, TETAPKAN LALAI TERHAD, TASKA, TIADA
Mod Lalai Sisipkan Ibu Bapa TIADA TIADA TIADA TIADA
Kemas Kini Ibu Bapa Mod yang mungkin TERHAD, TASKA, TIADA TERHAD, LATA, TIADA, TETAPKAN NULL, TETAP LAALA TERHAD, LATA, TIADA, TETAPKAN LALAI TERHAD, TASKA, TIADA
Mod Lalai Kemas Kini Ibu Bapa MENYEKAT TETAPKAN NULL MENYEKAT CASCADE

Komunikasi banyak-ke-banyak hanya boleh dilakukan pada tahap model data logik. Dalam Rajah. Rajah 2.31 di atas menunjukkan contoh perhubungan banyak-ke-banyak. Seorang doktor boleh berjumpa dengan ramai pesakit, seorang pesakit boleh dirawat oleh beberapa doktor. Sambungan sedemikian ditunjukkan oleh garis pepejal dengan dua titik di hujungnya.

Mari kita lihat kitaran pembangunan menggunakan contoh yang diberikan dalam artikel Codd.
Mari kita ingat secara ringkas kandungan masalah tersebut. Rekod pekerja diselenggara. Bagi setiap pekerja, maklumat disimpan tentang kanak-kanak dan senarai jawatan yang dipegang oleh pekerja ini. Untuk jawatan, maklumat mengenai gaji rasmi yang ditetapkan disimpan.
Mula-mula, mari kita cipta tahap logik model. Untuk melakukan ini, tetapkan mod paparan entiti (Tahap Paparan/Entiti). Menggunakan bar alat, kami akan mencipta entiti "pekerja", "kanak-kanak", "sejarah kerja", "sejarah gaji". Kami akan menamakan entiti dalam bahasa Rusia.
Setelah memilih setiap entiti, kami akan menetapkan penerangan terperinci untuknya dalam bahasa Rusia dalam editor "Definisi Entiti". Penerangan ini akan muncul dalam laporan ERwin dan boleh dipaparkan dalam carta.
Mari kita nyatakan hubungan antara entiti. Sebagai contoh, "pekerja" dikaitkan dengan hubungan identiti "adalah ibu bapa" kepada entiti "anak". Perihalan perhubungan dimasukkan dalam editor "Editor/Perhubungan".
Hasil kerja dipaparkan pada rajah ERwin (Rajah 2).

nasi. 2. Gambar rajah peringkat entiti

Sekarang mari kita pergi ke mod tetapan atribut (Tahap Paparan/Atribut). Dalam editor "Entiti/Atribut" kami akan menetapkan nama atribut kunci dan bukan kunci dalam bahasa Rusia. Ambil perhatian bahawa untuk entiti anak "kanak-kanak" atribut utama "nombor pekerja" tidak dinyatakan secara manual. ERwin mengendalikan penghijrahannya daripada entiti induk. Perkara yang sama berlaku dengan entiti kanak-kanak lain.
Untuk atribut "nama" entiti "pekerja", kami menunjukkan bahawa ia adalah kunci alternatif (kami akan menganggap bahawa semua pekerja mempunyai nama pertama/akhir yang unik). Untuk melakukan ini, selepas nama atribut kami meletakkan penunjuk AK1 dalam kurungan.
Hasil kerja dipaparkan pada rajah ERwin (Rajah 3) dalam tatatanda IDEF1X.

nasi. 3. Gambar rajah peringkat atribut dalam tatatanda IDEF1X

Pandangan rajah yang sama dalam tatatanda IE (Kejuruteraan Maklumat) ditunjukkan dalam Rajah 4.

nasi. 4. Rajah aras atribut dalam tatatanda IE

Memandangkan kami menetapkan nama atribut dan entiti dalam bahasa Rusia, untuk beralih ke tahap fizikal model, kami harus menetapkan mereka pengecam jadual, lajur dan sekatan yang memenuhi peraturan sasaran DBMS (biasanya ini bermaksud penggunaan huruf Latin , nombor dan beberapa aksara khas).
Dalam editor "Skema Pangkalan Data", tentukan nama jadual yang sepadan untuk setiap entiti. Kemudian dalam editor "Definisi Atribut" kami menetapkan nama lajur jadual yang sepadan dengan atribut entiti. ERwin juga menyediakan migrasi nama lajur ke jadual bawahan.
Pada peringkat ini, anda juga boleh menggunakan editor "Atribut Lanjutan" untuk menentukan atribut lanjutan PowerBuilder (format paparan, topeng pengeditan, peraturan kawalan, penjajaran, tajuk dan ulasan).
Editor Definisi Perhubungan menentukan nama fizikal perhubungan, yang sepadan dengan nama kekangan yang dibuat oleh ERwin dalam pangkalan data.
Kini segala-galanya bersedia untuk mencipta pangkalan data dan anda perlu memilih sasaran DBMS (jika ini belum dilakukan sebelum ini). Mari pilih, sebagai contoh, Sybase System 10.
Dalam editor Skema Pangkalan Data SYBASE, kami menetapkan jenis data untuk lajur jadual.
Dialog di mana jenis data dipilih ditunjukkan dalam Rajah 5.

nasi. 5. Definisi model fizikal

Sekarang anda boleh meneruskan untuk mencipta pangkalan data. Untuk melakukan ini, jalankan arahan "Penjanaan skema Sybase". ERwin akan membina pakej penyata penjanaan pangkalan data SQL. Rajah 6 menunjukkan dialog untuk memilih parameter penjanaan pakej untuk menjana pangkalan data. Rajah menunjukkan bahawa penapis boleh ditetapkan (tidak semua jadual dijana), pakej pernyataan SQL boleh dilihat (pratonton), dicetak, disimpan ke fail (laporan), dan dijana (jana).

nasi. 6. Memilih parameter penjanaan pangkalan data

Ciri ERwin lanjutan

Terdapat dua sudut pandangan yang mungkin pada model maklumat dan, oleh itu, dua peringkat model. Peringkat pertama - logik (pandangan pengguna) bermaksud paparan langsung fakta dari kehidupan sebenar. Sebagai contoh, orang, meja, jabatan, anjing dan komputer adalah objek sebenar. Mereka dinamakan dalam bahasa semula jadi, dengan sebarang pemisah perkataan (ruang, koma, dll.). Pada peringkat fizikal model, penggunaan DBMS tertentu dipertimbangkan, jenis data (contohnya, integer atau nombor nyata), dan indeks untuk jadual ditentukan.

ERwin menyediakan keupayaan untuk mencipta dan mengurus dua tahap pembentangan yang berbeza bagi satu rajah (model), serta mempunyai banyak pilihan paparan pada setiap peringkat. Istilah "tahap logik" dalam ERwin sepadan dengan model konseptual.

Peringkat membina model maklumat:

· takrifan entiti;

· penentuan kebergantungan antara entiti;

· menetapkan kunci utama dan alternatif;

· takrifan atribut entiti;

· membawa model ke tahap yang diperlukan dalam bentuk normal;

· peralihan kepada penerangan fizikal model: penugasan nama entiti surat-menyurat - nama jadual, atribut entiti - atribut jadual;

· menetapkan pencetus, prosedur dan sekatan;

· Penjanaan pangkalan data.

Erwin mencipta perwakilan visual (model data) untuk masalah yang sedang diselesaikan. Pandangan ini boleh digunakan untuk analisis terperinci, penghalusan dan pengedaran dokumentasi yang diperlukan dalam kitaran pembangunan. Walau bagaimanapun, ERwin bukan sekadar alat lukisan. ERwin secara automatik mencipta pangkalan data (jadual, indeks, prosedur tersimpan, pencetus integriti rujukan dan objek lain yang diperlukan untuk mengurus data).

Mewujudkan entiti.

Untuk menambah entiti pada model, anda perlu klik pada butang entiti pada bar alat (Erwin Toolbox), kemudian klik pada tempat pada rajah di mana anda ingin meletakkan entiti baharu. Dengan mengklik kanan entiti dan memilih Editor Entiti daripada menu timbul, anda boleh memaparkan dialog Editor Entiti, di mana anda mentakrifkan nama, perihalan dan ulasan entiti.

Setiap entiti mesti ditakrifkan sepenuhnya menggunakan penerangan teks dalam tab Definisi. Takrifan ini berguna pada peringkat logik, kerana ia membolehkan anda memahami entiti itu dan pada peringkat fizikal, kerana ia boleh dieksport sebagai sebahagian daripada skema dan digunakan dalam pangkalan data sebenar (BUAT KOMEN pada nama_entiti). Penanda halaman Note, Note2, Note3, UDP (User Defined Properties) digunakan untuk menambah ulasan dan definisi tambahan kepada entiti.

Dalam tab Ikon, setiap entiti boleh diberikan imej yang akan dipaparkan dalam mod tontonan model pada peringkat ikon dan imej yang akan dipaparkan pada semua peringkat lain.

Tab UDP bagi dialog Editor Entiti digunakan untuk mentakrifkan sifat yang ditentukan pengguna (User - Defined Properties). Apabila anda mengklik pada butang untuk tab ini, dialog Editor Harta Ditentukan Pengguna dipanggil (juga dipanggil daripada menu Edit/UDP). Adalah perlu untuk menunjukkan jenis objek yang UDP sedang dibuat (gambar rajah secara keseluruhan, entiti, atribut, dll.) dan jenis data. Untuk menambah sifat baharu, klik butang dalam jadual dan masukkan nama, jenis data, nilai lalai dan definisi.

Mencipta Atribut

Untuk menerangkan atribut, klik kanan pada entiti dan pilih Editor Atribut daripada menu yang muncul. Dialog Editor Atribut muncul.

Jika anda mengklik pada butang Baharu, dalam dialog Atribut Baharu yang muncul, anda boleh menentukan nama atribut, nama lajur yang sepadan dengannya dalam model fizikal dan domain. Domain atribut akan digunakan apabila menentukan jenis lajur pada tahap model fizikal.

Untuk atribut kunci utama, dalam tab Umum dialog Editor Atribut, anda mesti membuat tanda dalam tetingkap pemilihan Kunci Utama.

Tab Definisi, Nota dan UDP melaksanakan fungsi yang sama seperti semasa mentakrifkan entiti, tetapi pada peringkat atribut.

Untuk menjadikan gambar rajah lebih visual, setiap atribut boleh dikaitkan dengan ikon. Ini boleh dilakukan menggunakan senarai pilihan Ikon dalam tab Umum.

Adalah sangat penting untuk memberikan atribut nama yang betul. Atribut mesti dinamakan dalam bentuk tunggal dan mempunyai makna semantik yang jelas.

Menurut sintaks IDEF1X, nama atribut mestilah unik dalam model (bukan hanya dalam entiti!). Secara lalai, apabila anda cuba menambah nama atribut sedia ada, ERwin menamakannya semula. Contohnya, jika atribut Komen sudah wujud dalam model, atribut lain (dalam entiti lain) akan dinamakan Komen/2, kemudian Komen/3, dsb.

Apabila memindahkan atribut dalam dan antara entiti, anda boleh menggunakan teknik seret&lepaskan dengan memilih butang dalam palet alat.

Mencipta sambungan.

Untuk mencipta perhubungan baharu, pilih perhubungan yang mengenal pasti atau tidak mengenal pasti dalam palet alat (Kotak Alat ERwin), klik dahulu pada induk dan kemudian pada entiti anak.

Dalam palet alat, butang sepadan dengan perhubungan mengenal pasti, butang perhubungan banyak-ke-banyak dan butang sepadan dengan perhubungan tidak mengenal pasti. Untuk mengedit sifat perhubungan, klik kanan pada perhubungan dan pilih Editor Perhubungan daripada menu konteks.

Dalam tab Umum dialog yang muncul, anda boleh menetapkan kuasa, nama dan jenis sambungan.

Kuasa komunikasi (Kardinaliti)- berfungsi untuk menunjukkan nisbah bilangan kejadian entiti induk kepada bilangan kejadian anak.

Terdapat empat jenis kuasa:

kes umum apabila satu kejadian entiti induk sepadan dengan 0, 1, atau banyak kejadian entiti kanak-kanak tidak ditandakan dengan sebarang simbol;

simbol P menandakan kes apabila satu kejadian entiti induk sepadan dengan 1 atau banyak kejadian entiti anak (nilai nol dikecualikan);

simbol Z menandakan kes apabila satu contoh entiti induk sepadan dengan 0 atau 1 tika entiti anak (berbilang nilai dikecualikan);

Nombor itu menandakan kes apabila satu kejadian entiti induk sepadan dengan bilangan kejadian yang telah ditetapkan bagi entiti anak.

Secara lalai, simbol yang mewakili kekuatan pautan tidak ditunjukkan pada rajah. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kanan pada mana-mana tempat dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Perhubungan dan kemudian dayakan pilihan Cardinality.

Jenis sambungan (mengenal pasti/tidak mengenal pasti).

IDEF1X membezakan antara entiti bergantung dan bebas. Jenis entiti ditentukan oleh hubungannya dengan entiti lain. Hubungan mengenal pasti diwujudkan antara entiti bebas (hujung induk perhubungan) dan bergantung (hujung kanak-kanak perhubungan). Apabila perhubungan mengenal pasti dilukis, ERwin secara automatik menukar perhubungan anak kepada perhubungan bergantung. Entiti bergantung diwakili oleh segi empat tepat dengan bucu bulat.

Contoh entiti bergantung hanya ditakrifkan melalui perhubungan dengan entiti induk. Apabila perhubungan mengenal pasti diwujudkan, atribut kunci utama entiti induk dipindahkan secara automatik ke kunci utama entiti anak. Operasi menambah atribut kepada entiti anak semasa membuat perhubungan dipanggil migrasi atribut. Dalam entiti anak, atribut baharu ditandakan sebagai kunci asing - (FK).

Apabila perhubungan tidak mengenal pasti diwujudkan, entiti anak kekal bebas dan atribut utama utama entiti induk berhijrah kepada komponen bukan kunci entiti anak. Hubungan tidak mengenal pasti digunakan untuk menghubungkan entiti bebas.

Sambungan mengenal pasti ditunjukkan pada rajah sebagai garis pepejal dengan titik tebal di hujung kanak-kanak sambungan, dan sambungan tidak mengenal pasti ditunjukkan sebagai garis putus-putus.

Untuk perhubungan yang tidak mengenal pasti, anda boleh menentukan mandatori (Batal dalam tab Umum dialog Editor Perhubungan). Dalam kes perhubungan mandatori (Tiada Nulls), apabila menjana skema pangkalan data, atribut kunci asing akan menerima atribut NOT NULL, walaupun pada hakikatnya kunci asing tidak akan menjadi sebahagian daripada kunci utama entiti anak. Dalam kes perhubungan pilihan (Nulls Allowed), kunci asing boleh menjadi NULL. Hubungan tidak mengenal pasti pilihan ditandakan dengan berlian lutsinar pada bahagian entiti induk

Frasa Kata Kerja- frasa yang mencirikan hubungan antara entiti ibu bapa dan anak. Untuk perhubungan satu-ke-banyak, mengenal pasti atau tidak mengenal pasti, adalah cukup untuk menentukan nama yang mencirikan perhubungan daripada entiti ibu bapa kepada anak (Ibu bapa kepada Anak). Untuk perhubungan ramai-ke-banyak, nama Ibu Bapa-ke-Anak dan Anak-ke-Ibu bapa mesti dinyatakan. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kanan di mana-mana dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Hubungan dan kemudian dayakan pilihan Frasa Kata Kerja.

Nama peranan atau nama fungsi (Nama Peranan) ialah sinonim untuk atribut kunci asing yang menunjukkan peranan yang dimainkan oleh atribut dalam entiti anak. Anda boleh menetapkan nama peranan dalam tab Rolename/RI Actions pada dialog Editor Perhubungan.

Rajah 1. Nama peranan utama asing

Dalam contoh yang ditunjukkan dalam Rajah. 1, dalam entiti Nombor Jabatan kunci asing Pekerja mempunyai nama peranan "Where Works" yang menunjukkan peranan yang dimainkan oleh atribut ini dalam entiti. Secara lalai, hanya nama peranan ditunjukkan dalam senarai atribut. Untuk memaparkan nama atribut penuh (kedua-dua nama fungsi dan nama peranan), dalam menu konteks yang muncul jika anda klik kanan di mana-mana dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Entiti dan kemudian dayakan Nama Peranan / Atribut pilihan. Nama penuh ditunjukkan sebagai nama fungsian dan nama asas yang dipisahkan oleh titik (Rajah 1).

Adalah wajib untuk menggunakan nama peranan apabila dua atau lebih atribut entiti yang sama ditakrifkan dalam skop yang sama, i.e. mereka mempunyai julat makna yang sama, tetapi makna yang berbeza.

Rajah.2. Kes nama peranan wajib

Dalam Rajah 2, entiti Jualan Mata Wang mengandungi maklumat tentang akta pertukaran mata wang di mana dua mata wang terlibat - dijual dan dibeli. Maklumat tentang mata wang terkandung dalam entiti Mata Wang. Oleh itu, entiti Jualan Mata Wang dan Mata Wang mesti dipautkan dua kali dan kunci utama - Nombor Mata Wang mesti dipindahkan dua kali kepada entiti Mata Wang sebagai kunci asing. Adalah perlu untuk membezakan antara atribut ini, yang mengandungi maklumat tentang bilangan mata wang yang dijual dan dibeli (ia mempunyai makna yang berbeza), tetapi merujuk kepada entiti Mata Wang yang sama (ia mempunyai julat nilai yang sama). Dalam contoh dalam Rajah 2, atribut menerima nama peranan Dijual dan Dibeli.

Satu lagi contoh penggunaan mandatori nama peranan ialah hubungan rekursif, apabila entiti yang sama ialah ibu bapa dan anak.

Peraturan Integriti Rujukan (RI).- binaan logik yang menyatakan peraturan perniagaan untuk menggunakan data dan mewakili peraturan untuk sisipan, penggantian dan pemadaman. Anda boleh menetapkan peraturan integriti rujukan dalam tab Rolename/RI Actions pada dialog Editor Perhubungan.

Apabila menjana skema pangkalan data berdasarkan pilihan model logik, peraturan integriti rujukan perisytiharan akan dijana, yang mesti ditetapkan untuk setiap perhubungan, dan pencetus yang memastikan integriti rujukan.

Rajah.3. Menghijrahkan nama peranan

Dalam Rajah 3 terdapat hubungan mengenal pasti antara entiti Pasukan dan Pemain. Apa yang berlaku jika anda memadamkan arahan? Contoh entiti Pemain tidak boleh wujud tanpa arahan (atribut kunci utama Dia bermain dalam pasukan apa? Nombor pasukan tidak boleh mengambil nilai NULL), oleh itu anda perlu sama ada melarang memadam pasukan selagi terdapat sekurang-kurangnya seorang pemain di dalamnya, atau memadam semua pemainnya bersama-sama pasukan. Peraturan pengalihan keluar sedemikian (Parent Delete) dipanggil Parent Restrict (sekatan) dan Parent Cascade (lata). Entiti Pemain dan Matlamat, seterusnya, juga dihubungkan dengan sambungan yang mengenal pasti dan, jika peraturan pemadaman bertingkat semua rekod golnya digunakan untuk memadam pemain, maka apabila memadam pasukan, semua pemain pasukan dan semua gol yang dijaringkan oleh pemain ini akan dipadamkan.

Komunikasi banyak-ke-banyak hanya boleh dilakukan pada tahap model data logik. Sambungan sedemikian ditunjukkan oleh garis pepejal dengan dua titik di hujungnya. Untuk menambah perhubungan, anda mesti terlebih dahulu mengklik butang dalam palet alat (Kotak Alat ERwin), dan kemudian klik pada kedua-dua entiti berkaitan secara bergilir-gilir.

Perhubungan banyak-ke-banyak hendaklah dinamakan (Frasa Kerja) dengan dua frasa - dalam kedua-dua arah. Ini menjadikan gambar rajah lebih mudah dibaca.

Mencipta kunci.

Setiap kejadian entiti mestilah unik dan berbeza daripada atribut lain.

Kunci utama ialah atribut atau kumpulan atribut yang secara unik mengenal pasti tika sesuatu entiti. Atribut kunci utama dalam rajah tidak memerlukan penetapan khas - ia adalah atribut yang terletak di atas garis mendatar dalam senarai atribut. Apabila menambah atribut baharu dalam dialog Editor Atribut, untuk menjadikannya atribut kunci utama, anda perlu mendayakan kotak semak Kunci Utama di bahagian bawah tab Umum. Dalam rajah, atribut kunci boleh ditambah pada kunci utama menggunakan mod pemindahan atribut (butang dalam palet alat).

Satu entiti mungkin mengandungi beberapa atribut atau set atribut yang mendakwa sebagai kunci utama. Pemohon sedemikian dipanggil kunci berpotensi (kunci calon).

Kunci boleh menjadi kompleks, i.e. mengandungi beberapa sifat. Kekunci primer yang kompleks tidak memerlukan tatatanda khas - ia adalah senarai atribut di atas garis mendatar. Apabila memilih kunci utama, keutamaan harus diberikan kepada kunci yang lebih mudah, i.e. kunci yang mengandungi lebih sedikit atribut.

Banyak entiti hanya mempunyai satu kunci calon. Ini menjadi kunci utama. Sesetengah entiti mungkin mempunyai lebih daripada satu kunci yang mungkin. Kemudian salah satu daripadanya menjadi kunci utama, dan selebihnya menjadi kunci ganti.

Kunci Alternatif ialah kunci calon yang belum menjadi kunci utama.

Setiap kunci mempunyai indeks yang sepadan, yang namanya juga ditetapkan secara automatik. Nama kunci dan indeks boleh ditukar secara manual jika dikehendaki.

Dalam rajah, atribut kunci alternatif dilambangkan sebagai (Akn.m.), dengan n ialah nombor siri kunci, m ialah nombor siri atribut dalam kunci. Apabila kunci ganti mengandungi berbilang atribut, (Akn.m.) diletakkan selepas setiap satu.

Rajah.4. Entiti "Pekerja" dengan kekunci dipaparkan


Kunci Asing dicipta secara automatik apabila perhubungan menghubungkan entiti: perhubungan membentuk rujukan kepada atribut utama utama dalam entiti anak, dan atribut ini membentuk kunci asing dalam entiti anak (penghijrahan kunci). Atribut kunci asing ditunjukkan oleh simbol (FK) selepas namanya (Rajah 4). Atribut kunci asing Where Works Nombor jabatan (“Where Works” ialah nama peranan) entiti Pekerja ialah atribut kunci utama (PK) dalam entiti Jabatan.

Entiti bergantung boleh mempunyai kunci yang sama daripada berbilang entiti induk. Entiti juga boleh menerima kunci asing yang sama beberapa kali daripada induk yang sama melalui berbilang perhubungan yang berbeza. Apabila ERwin mengesan salah satu peristiwa ini, ia menyedari bahawa kedua-dua atribut adalah sama dan meletakkan atribut kunci asing pada entiti bergantung hanya sekali. Gabungan atau penyatuan atribut yang serupa ini dipanggil penyatuan.

Terdapat kes apabila penyatuan tidak diingini. Sebagai contoh, apabila dua atribut mempunyai nama yang sama, tetapi sebenarnya ia berbeza dalam makna, dan perbezaan ini perlu ditunjukkan dalam rajah. Dalam kes ini, adalah perlu untuk menggunakan nama peranan utama asing (Rajah 2).

Domain.

Domain boleh ditakrifkan sebagai koleksi nilai dari mana nilai atribut diperoleh. Setiap atribut boleh ditakrifkan pada satu domain sahaja, tetapi berbilang atribut boleh ditakrifkan pada setiap domain. Konsep domain merangkumi bukan sahaja jenis data, tetapi juga julat nilai data. Sebagai contoh, anda boleh menentukan domain Umur sebagai integer positif dan menentukan atribut Umur Pekerja sebagai milik domain tersebut.

Dalam ERwin, domain hanya boleh ditakrifkan sekali dan boleh digunakan dalam kedua-dua model logik dan fizikal.

Pada peringkat logik, domain boleh diterangkan tanpa sifat fizikal tertentu. Pada peringkat fizikal, mereka menerima sifat khusus yang boleh diubah secara manual. Jadi, domain "Umur" boleh mempunyai jenis Nombor pada tahap logik; pada tahap fizikal, domain akan diberikan jenis INTEGER.

Untuk mencipta domain dalam model logik, gunakan dialog Editor Kamus Domain. Ia boleh dipanggil dari menu Edit/Kamus Domain menggunakan butang yang terletak di bahagian atas kiri tab Umum dialog Editor Atribut. Untuk mencipta domain baharu dalam dialog Editor Kamus Domain:

· Klik pada butang Baharu. Dialog Domain Baharu muncul;

· pilih domain induk daripada senarai Induk Domain. Domain baharu boleh dibuat berdasarkan domain yang telah dibuat oleh pengguna, atau berdasarkan domain yang sedia ada pada mulanya. Secara lalai, Erwin mempunyai empat domain yang dipratentukan (String, Number, Blob, Datetime). Domain baharu mewarisi semua sifat domain induk. Sifat ini boleh ditakrifkan semula kemudian;

· masukkan nama domain dalam medan Nama Logik. Anda juga boleh menentukan nama domain fizikal dalam medan Nama Fizikal. Jika nama fizikal tidak dinyatakan, ia lalai kepada nama logik;

· klik pada butang OK;

Dalam dialog Editor Kamus Domain, anda boleh mengaitkan domain dengan ikon yang dengannya ia akan dipaparkan dalam senarai domain (Ikon Domain), ikon yang atribut yang ditakrifkan pada domain akan dipaparkan dalam model (Icon Inherited). mengikut Atribut).

Setiap domain boleh diterangkan dalam tab Definisi, disediakan dengan ulasan dalam tab Nota, atau sifat yang ditentukan pengguna dalam tab UDP.

ERwin mempunyai alat khas yang menjadikannya lebih mudah untuk mencipta atribut baharu dalam model menggunakan penerangan domain - Pelayar Atribut Bebas. Dialog ini dipanggil (dan disembunyikan) menggunakan kekunci pintas CTRL+B. Dengan bantuannya, anda boleh memilih domain dalam senarai dan menggunakan kaedah seret&lepaskan untuk memindahkannya kepada entiti. Ia akan mencipta atribut baharu dengan nama yang harus ditetapkan dalam tetingkap Nama Diwarisi oleh Atribut pada dialog Editor Kamus Domain. Jika nilai medan tidak dinyatakan, lalai ialah nama domain.

Pada peringkat fizikal, dialog Editor Kamus Domain membolehkan anda mengedit sifat fizikal domain. Nama tab ini bergantung pada pelayan pangkalan data yang dipilih. Di atasnya anda boleh menetapkan jenis data tertentu yang sepadan dengan domain, peraturan untuk menetapkan nilai NULL, peraturan pengesahan (peraturan untuk menyemak nilai yang sah) dan menetapkan nilai lalai. Peraturan pengesahan dan nilai lalai mesti diterangkan dan dinamakan sebelum ini. Untuk memanggil dialog untuk mengedit peraturan pengesahan dan nilai lalai, gunakan butang di sebelah kanan senarai pilihan yang sepadan (Sah dan Lalai).

Fungsi tab lain dialog Editor Kamus Domain:

Umum. Menentukan Induk Domain dan nama yang diberikan kepada lajur apabila ia dibuat menggunakan Penyemak Imbas Lajur Bebas. Menggunakan pilihan Fizikal Sahaja, domain hanya boleh ditakrifkan pada tahap model fizikal.

Komen. Menambah ulasan pada atribut.

UDP. Sifat yang ditentukan pengguna.

Visual Basic- PowerBuilder. Menetapkan sifat domain khas untuk penjanaan kod aplikasi klien.

Tugasan untuk diselesaikan.

Berdasarkan model fungsian yang dibuat sebelum ini dan perihalan kawasan subjek, cipta model logik menggunakan pakej ERwin.

Kerja makmal No. 7.
Erwin Asas. Menyediakan model data fizikal untuk penjanaan pangkalan data

1. Tujuan kerja: menguasai prinsip penyediaan model data fizikal untuk menjana katalog sistem pangkalan data.

Kerja makmal No. 3. Pemodelan pangkalan data menggunakan Erwin

Matlamat kerja– pelajar memperoleh kemahiran praktikal dalam mencipta model data logik dan fizikal menggunakan CASE – alatan pembangunan sistem maklumat.

Maklumat asas

ERwin menyokong pemodelan pangkalan data hadapan dan belakang. Dalam pemodelan hadapan, skema pangkalan data diterangkan secara langsung menggunakan gambar rajah hubungan entiti. Entiti dalam rajah diwakili oleh segi empat tepat. Setiap segi empat tepat boleh mempunyai atribut visual yang berbeza. Setiap entiti mesti diberi nama yang unik. Nama entiti mestilah dalam bentuk tunggal. Ini ditentukan oleh fakta bahawa sistem sentiasa beroperasi dengan kejadian berasingan entiti. Dalam kes ini, kejadian individu entiti dianggap sebagai objek, dan entiti dianggap sebagai kelas objek. Jika entiti diterangkan semasa pemodelan dalam BPwin, maka entiti tersebut hanya boleh diimport ke ERwin. Contoh rajah dengan entiti yang dicipta ditunjukkan dalam rajah.

Rajah 4 - Contoh rajah dengan entiti yang dicipta

Membina model dalam ERwin

Terdapat dua sudut pandangan yang mungkin pada model maklumat dan, oleh itu, dua peringkat model. Peringkat pertama - logik (pandangan pengguna) bermaksud paparan langsung fakta dari kehidupan sebenar. Sebagai contoh, orang, meja, jabatan, anjing dan komputer adalah objek sebenar. Mereka dinamakan dalam bahasa semula jadi, dengan sebarang pemisah perkataan (ruang, koma, dll.). Pada peringkat fizikal model, penggunaan DBMS tertentu dipertimbangkan, jenis data (contohnya, integer atau nombor nyata), dan indeks untuk jadual ditentukan.

ERwin menyediakan keupayaan untuk mencipta dan mengurus dua tahap pembentangan yang berbeza bagi satu rajah (model), serta mempunyai banyak pilihan paparan pada setiap peringkat. Istilah "tahap logik" dalam ERwin sepadan dengan model konseptual.

Peringkat membina model maklumat.

  • definisi entiti;
  • menentukan kebergantungan antara entiti;
  • menetapkan kunci utama dan alternatif;
  • mentakrifkan atribut entiti;
  • membawa model ke tahap yang diperlukan dalam bentuk normal;
  • peralihan kepada huraian fizikal model: penugasan nama entiti surat-menyurat - nama jadual, atribut entiti - atribut jadual;
  • menetapkan pencetus, prosedur dan sekatan;
  • penjanaan pangkalan data.

Erwin mencipta perwakilan visual (model data) untuk masalah yang sedang diselesaikan. Pandangan ini boleh digunakan untuk analisis terperinci, penghalusan dan pengedaran dokumentasi yang diperlukan dalam kitaran pembangunan. Walau bagaimanapun, ERwin bukan sekadar alat lukisan. ERwin secara automatik mencipta pangkalan data (jadual, indeks, prosedur tersimpan, pencetus integriti rujukan dan objek lain yang diperlukan untuk mengurus data).

Mewujudkan entiti.

Untuk menambah entiti pada model, anda perlu klik pada butang entiti pada bar alat (Erwin Toolbox), kemudian klik pada tempat pada rajah di mana anda ingin meletakkan entiti baharu. Dengan mengklik kanan entiti dan memilih Editor Entiti daripada menu timbul, anda boleh memaparkan dialog Editor Entiti, di mana anda mentakrifkan nama, perihalan dan ulasan entiti.

Setiap entiti mesti ditakrifkan sepenuhnya menggunakan penerangan teks dalam tab Definisi. Takrifan ini berguna pada peringkat logik, kerana ia membolehkan anda memahami maksud objek dan pada peringkat fizikal, kerana ia boleh dieksport sebagai sebahagian daripada skema dan digunakan dalam pangkalan data sebenar ( BUAT ULASAN pada nama_entiti). Penanda halaman Note, Note2, Note3, UDP (User Defined Properties) digunakan untuk menambah ulasan dan definisi tambahan kepada entiti.

Dalam tab Ikon, setiap entiti boleh diberikan imej yang akan dipaparkan dalam mod tontonan model pada peringkat ikon dan imej yang akan dipaparkan pada semua peringkat lain.

Tab UDP bagi dialog Editor Entiti digunakan untuk mentakrifkan sifat yang ditentukan pengguna (User - Defined Properties). Apabila anda mengklik pada butang untuk tab ini, dialog Editor Harta Ditentukan Pengguna dipanggil (juga dipanggil daripada menu Edit/UDP). Adalah perlu untuk menunjukkan jenis objek yang UDP sedang dibuat (gambar rajah secara keseluruhan, entiti, atribut, dll.) dan jenis data. Untuk menambah sifat baharu, klik butang dalam jadual dan masukkan nama, jenis data, nilai lalai dan definisi.

Mencipta atribut.

Langkah seterusnya dalam mencipta model ialah menetapkan atribut untuk setiap entiti. Apabila menentukan jenis atribut, adalah mungkin untuk menggunakan domain. Domain ialah jenis yang ditakrifkan pengguna abstrak yang diperuntukkan kepada mana-mana jenis data fizikal. Selain itu, setiap domain boleh mempunyai nilai dan peraturan lalai sendiri untuk mengesahkan data input. ERwin menyediakan keupayaan untuk mendokumentasikan semua langkah yang terlibat dalam mencipta jenis data anda sendiri. Dengan menggunakan konsep domain, kemudahalihan pangkalan data merentasi platform perkakasan yang berbeza dipastikan.

Rajah 5 - Mencipta domain baharu Rajah 6 - Menentukan sifat domain baharu

Rajah 7 - Nilai lalai untuk domain baharu

Rajah 8 - Menggunakan domain untuk menentukan jenis data atribut.

Untuk menerangkan atribut, klik kanan pada entiti dan pilih Editor Atribut daripada menu yang muncul. Dialog Editor Atribut muncul.

Jika anda mengklik pada butang Baharu, dalam dialog Atribut Baharu yang muncul, anda boleh menentukan nama atribut, nama lajur yang sepadan dengannya dalam model fizikal dan domain. Domain atribut akan digunakan apabila menentukan jenis lajur pada tahap model fizikal.

Untuk atribut kunci utama, dalam tab Umum dialog Editor Atribut, anda mesti membuat tanda dalam tetingkap pemilihan Kunci Utama.
Tab Definisi, Nota dan UDP melaksanakan fungsi yang sama seperti semasa mentakrifkan entiti, tetapi pada peringkat atribut.

Untuk menjadikan gambar rajah lebih visual, setiap atribut boleh dikaitkan dengan ikon. Ini boleh dilakukan menggunakan senarai pilihan Ikon dalam tab Umum.

Adalah sangat penting untuk memberikan atribut nama yang betul. Atribut mesti dinamakan dalam bentuk tunggal dan mempunyai makna semantik yang jelas.

Menurut sintaks IDEF1X, nama atribut mestilah unik dalam model (bukan hanya dalam entiti!). Secara lalai, apabila anda cuba menambah nama atribut sedia ada, ERwin menamakannya semula. Contohnya, jika atribut Komen sudah wujud dalam model, atribut lain (dalam entiti lain) akan dinamakan Komen/2, kemudian Komen/3, dsb.
Apabila memindahkan atribut dalam dan antara entiti, anda boleh menggunakan teknik seret&lepaskan dengan memilih butang dalam palet alat.

Untuk mencipta perhubungan baharu, pilih perhubungan yang mengenal pasti atau tidak mengenal pasti dalam palet alat (Kotak Alat ERwin), klik dahulu pada induk dan kemudian pada entiti anak.
Dalam palet alat, butang sepadan dengan perhubungan mengenal pasti, butang perhubungan banyak-ke-banyak dan butang sepadan dengan perhubungan tidak mengenal pasti. Untuk mengedit sifat perhubungan, klik kanan pada perhubungan dan pilih Editor Perhubungan daripada menu konteks.

Dalam tab Umum dialog yang muncul, anda boleh menetapkan kuasa, nama dan jenis sambungan.

Kuasa komunikasi (Kardinaliti)- berfungsi untuk menunjukkan nisbah bilangan kejadian entiti induk kepada bilangan kejadian anak.
Terdapat empat jenis kuasa:

· kes umum apabila satu kejadian entiti induk sepadan dengan 0, 1 atau banyak kejadian entiti anak tidak ditandakan dengan sebarang simbol;

· simbol P menandakan kes apabila satu kejadian entiti induk sepadan dengan 1 atau banyak kejadian entiti anak (nilai sifar dikecualikan);

· simbol Z menandakan kes apabila satu tika entiti induk sepadan dengan 0 atau 1 tika entiti anak (berbilang nilai dikecualikan);

· nombor menandakan kes apabila satu kejadian entiti induk sepadan dengan bilangan kejadian yang telah ditetapkan bagi entiti anak.

Secara lalai, simbol yang mewakili kekuatan pautan tidak ditunjukkan pada rajah. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kanan pada mana-mana tempat dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Perhubungan dan kemudian dayakan pilihan Cardinality.

Jenis sambungan (mengenal pasti/tidak mengenal pasti).

IDEF1X membezakan antara entiti bergantung dan bebas. Jenis entiti ditentukan oleh hubungannya dengan entiti lain. Hubungan mengenal pasti diwujudkan antara entiti bebas (hujung induk perhubungan) dan bergantung (hujung kanak-kanak perhubungan). Apabila perhubungan mengenal pasti dilukis, ERwin secara automatik menukar perhubungan anak kepada perhubungan bergantung. Entiti bergantung diwakili oleh segi empat tepat dengan bucu bulat.

Contoh entiti bergantung hanya ditakrifkan melalui perhubungan dengan entiti induk. Apabila perhubungan mengenal pasti diwujudkan, atribut kunci utama entiti induk dipindahkan secara automatik ke kunci utama entiti anak. Operasi menambah atribut kepada entiti anak semasa membuat perhubungan dipanggil migrasi atribut. Dalam entiti anak, atribut baharu ditandakan sebagai kunci asing - (FK).

Apabila perhubungan tidak mengenal pasti diwujudkan, entiti anak kekal bebas dan atribut utama utama entiti induk berhijrah kepada komponen bukan kunci entiti anak. Hubungan tidak mengenal pasti digunakan untuk menghubungkan entiti bebas.

Sambungan mengenal pasti ditunjukkan pada rajah sebagai garis pepejal dengan titik tebal di hujung kanak-kanak sambungan, dan sambungan tidak mengenal pasti ditunjukkan sebagai garis putus-putus.

Untuk perhubungan yang tidak mengenal pasti, anda boleh menentukan mandatori (Batal dalam tab Umum dialog Editor Perhubungan). Dalam kes perhubungan mandatori (Tiada Nulls), apabila menjana skema pangkalan data, atribut kunci asing akan menerima atribut NOT NULL, walaupun pada hakikatnya kunci asing tidak akan menjadi sebahagian daripada kunci utama entiti anak. Dalam kes perhubungan pilihan (Nulls Allowed), kunci asing boleh menjadi NULL. Hubungan tidak mengenal pasti pilihan ditandakan dengan berlian lutsinar pada bahagian entiti induk

Frasa Kata Kerja- frasa yang mencirikan hubungan antara entiti ibu bapa dan anak. Untuk perhubungan satu-ke-banyak, mengenal pasti atau tidak mengenal pasti, adalah cukup untuk menentukan nama yang mencirikan perhubungan daripada entiti ibu bapa kepada anak (Ibu bapa kepada Anak). Untuk perhubungan ramai-ke-banyak, nama Ibu Bapa-ke-Anak dan Anak-ke-Ibu bapa mesti dinyatakan. Untuk memaparkan nama, dalam menu konteks yang muncul jika anda klik kanan di mana-mana dalam rajah yang tidak diduduki oleh objek model, pilih Pilihan Paparan/Hubungan dan kemudian dayakan pilihan Frasa Kata Kerja.

Nama peranan atau nama fungsi (Nama Peranan) ialah sinonim untuk atribut kunci asing yang menunjukkan peranan yang dimainkan oleh atribut dalam entiti anak. Anda boleh menetapkan nama peranan dalam tab Rolename/RI Actions pada dialog Editor Perhubungan.

Mencipta kunci.

Setiap kejadian entiti mestilah unik dan berbeza daripada atribut lain.

Kunci utama ialah atribut atau kumpulan atribut yang secara unik mengenal pasti tika sesuatu entiti. Atribut kunci utama dalam rajah tidak memerlukan penetapan khas - ia adalah atribut yang terletak di atas garis mendatar dalam senarai atribut. Apabila menambah atribut baharu dalam dialog Editor Atribut, untuk menjadikannya atribut kunci utama, anda perlu mendayakan kotak semak Kunci Utama di bahagian bawah tab Umum. Dalam rajah, atribut kunci boleh ditambah pada kunci utama menggunakan mod pemindahan atribut (butang dalam palet alat).

Satu entiti mungkin mengandungi beberapa atribut atau set atribut yang mendakwa sebagai kunci utama. Pemohon sedemikian dipanggil kunci berpotensi (kunci calon).

Kunci boleh menjadi kompleks, i.e. mengandungi beberapa sifat. Kekunci primer yang kompleks tidak memerlukan tatatanda khas - ia adalah senarai atribut di atas garis mendatar. Apabila memilih kunci utama, keutamaan harus diberikan kepada kunci yang lebih mudah, i.e. kunci yang mengandungi lebih sedikit atribut.

Banyak entiti hanya mempunyai satu kunci calon. Ini menjadi kunci utama. Sesetengah entiti mungkin mempunyai lebih daripada satu kunci yang mungkin. Kemudian salah satu daripadanya menjadi kunci utama, dan selebihnya menjadi kunci ganti.

Kunci Alternatif ialah kunci calon yang belum menjadi kunci utama.

Setiap kunci mempunyai indeks yang sepadan, yang namanya juga ditetapkan secara automatik. Nama kunci dan indeks boleh ditukar secara manual jika dikehendaki.

Dalam rajah, atribut kunci alternatif dilambangkan sebagai (Akn.m.), dengan n ialah nombor siri kunci, m ialah nombor siri atribut dalam kunci. Apabila kunci ganti mengandungi berbilang atribut, (Akn.m.) diletakkan selepas setiap satu.

Kunci Asing dicipta secara automatik apabila perhubungan menghubungkan entiti: perhubungan membentuk rujukan kepada atribut utama utama dalam entiti anak, dan atribut ini membentuk kunci asing dalam entiti anak (penghijrahan kunci). Atribut kunci asing ditunjukkan dengan simbol (FK) selepas namanya.

Entiti bergantung boleh mempunyai kunci yang sama daripada berbilang entiti induk. Entiti juga boleh menerima kunci asing yang sama beberapa kali daripada induk yang sama melalui berbilang perhubungan yang berbeza. Apabila ERwin mengesan salah satu peristiwa ini, ia menyedari bahawa kedua-dua atribut adalah sama dan meletakkan atribut kunci asing pada entiti bergantung hanya sekali. Gabungan atau penyatuan atribut yang serupa ini dipanggil penyatuan.

Terdapat kes apabila penyatuan tidak diingini. Sebagai contoh, apabila dua atribut mempunyai nama yang sama, tetapi sebenarnya ia berbeza dalam makna, dan perbezaan ini perlu ditunjukkan dalam rajah. Dalam kes ini, anda mesti menggunakan nama peranan kunci asing.

Hubungan dalam gambar rajah diwakili oleh garis yang pergi dari satu entiti (jadual) ke entiti yang lain. Setiap pautan diberikan nama yang unik. Jadual berkaitan dibahagikan kepada jadual ibu bapa dan anak. Jadual induk dipaparkan sebagai segi empat tepat dengan sudut kanan, meja kanak-kanak - dengan sudut bulat.

Selepas menentukan semua atribut format data, adalah perlu untuk menukar model logik yang dicipta kepada model fizikal. Untuk ini adalah perlu untuk Alatan pilih Terbitkan Model Baharu, di mana sebagai Pangkalan Data Sasaran pilih ODBC/Generik(untuk digunakan dalam DBMS MySQL) lihat Rajah 9. Model kami (lihat Rajah 4) akan ditukar kepada bentuk lihat Rajah 11.

Rajah 9 - Menukar model logik kepada model fizikal

Rajah 10 - Model fizikal yang menunjukkan format data.

Rajah 11 - Penjanaan Kod SQL

Senaman

1. Bina gambar rajah dengan entiti tertentu (pemodelan langsung) untuk kawasan subjek tertentu.

2. Tetapkan atribut untuk setiap entiti yang ditentukan. Apabila menetapkan atribut, gunakan domain.

3. Masukkan perhubungan antara entiti. Berikan sambungan anda nama yang unik.

4. Menggunakan DBMS MYSQL, tentukan penjanaan langsung pangkalan data untuk projek maklumat yang direka bentuk.

5. Laporan mesti mengandungi model konsep dan pangkalan data fizikal dalam DBMS MYSQL.

Soalan kawalan

1. Apakah perbezaan antara tahap logik dan fizikal bagi mewakili model data menggunakan ERwin?

2. Apakah perbezaan antara model data yang diwakili dalam bentuk rajah hubungan entiti, model berasaskan kunci dan model atribut penuh?

3. Apakah komponen utama model data yang dibentangkan mengikut metodologi IDEF1X?


Senarai jenis data yang disokong oleh DBMS mesti disemak dengan pengilang

Sambungan ialah pergantungan fungsi antara dua entiti (khususnya, entiti boleh berhubung dengan dirinya sendiri). Sebagai contoh, adalah penting untuk mengetahui nama keluarga pekerja, dan sama pentingnya untuk mengetahui di jabatan mana dia bekerja. Oleh itu, antara entiti "jabatan" dan "pekerja" terdapat hubungan "terdiri daripada" (jabatan terdiri daripada pekerja). Hubungan ialah konsep tahap logik yang mana kunci asing sepadan pada tahap fizikal. Dalam ERwin, perhubungan diwakili oleh lima maklumat utama:

· jenis sambungan (mengenal pasti, tidak mengenal pasti, kategori lengkap/tidak lengkap, sambungan tidak khusus);

· entiti induk;

· entiti kanak-kanak (bergantungan);

· kuasa komunikasi (kardinaliti);

· Kebolehterimaan nilai kosong (null).

Perhubungan dikatakan mengenal pasti jika kejadian entiti anak dikenal pasti melalui hubungannya dengan entiti induk. Atribut yang membentuk kunci utama entiti induk juga disertakan dalam kunci utama entiti anak. Entiti kanak-kanak dalam perhubungan mengenal pasti sentiasa bergantung.
Perhubungan dikatakan tidak mengenal pasti jika kejadian entiti anak dikenal pasti selain melalui perhubungan dengan entiti induk. Atribut yang membentuk kunci utama entiti induk juga termasuk dalam atribut bukan kunci entiti anak.
Untuk menentukan perhubungan ERwin, anda memilih jenis perhubungan, kemudian gunakan tetikus untuk memilih entiti induk dan anak. Pautan pengenalpastian digambarkan sebagai garis pepejal; tidak mengenal pasti - garis putus-putus. Garisan berakhir dengan titik di sebelah entiti kanak-kanak.
Apabila mentakrifkan perhubungan, atribut utama utama entiti induk dipindahkan ke skop atribut yang sepadan bagi entiti anak. Oleh itu, atribut tersebut tidak dimasukkan secara manual.
Atribut kunci utama entiti induk berhijrah dengan nama mereka sendiri secara lalai. ERwin membenarkan anda memasukkan peranan untuk mereka, i.e. nama baharu yang mana atribut pemindahan akan diwakili dalam entiti anak. Jika atribut dipindahkan beberapa kali, penamaan semula sedemikian diperlukan. Sebagai contoh, entiti "urus niaga perantara" mempunyai atribut "kod perusahaan penjual" dan "kod perusahaan pembeli". Dalam kes ini, kunci utama entiti "perusahaan" ("kod perusahaan") mempunyai dua peranan dalam entiti anak.
Pada peringkat fizikal, nama peranan ialah nama lajur kunci asing dalam jadual anak.
Kekuatan perhubungan ialah nisbah bilangan kejadian entiti induk kepada bilangan kejadian yang sepadan bagi entiti anak. Untuk sebarang perhubungan selain daripada perhubungan bukan khusus, perhubungan ini ditulis sebagai 1:n.
ERwin, mengikut metodologi IDEF1X, menyediakan 4 pilihan untuk n, yang diwakili oleh simbol tambahan dalam entiti anak: sifar, satu atau lebih (lalai); sifar atau satu; tepat N, dengan N ialah nombor tertentu.
ERwin menggambarkan kebolehterimaan nilai kosong (NULL) dalam perhubungan tidak mengenal pasti sebagai berlian kosong pada bahagian entiti induk arka perhubungan.
Penamaan kuasa, masing-masing, sifar, satu atau lebih, satu atau lebih, sifar atau satu dalam tatatanda IE ditunjukkan dalam Rajah. 1.

Rajah 1. Notasi kuasa komunikasi dalam tatatanda IE

Nama perhubungan pada peringkat logik ialah "kata kerja" yang memautkan entiti. Nama fizikal pautan (yang mungkin berbeza daripada nama logik) untuk ERwin ialah nama kekangan atau indeks.