Membuat batasan dan indeks tabel dengan Azure Data Studio
Saatnya untuk menyelesaikan tabel untuk aplikasi referensi kartu online. Dengan pengetahuan dari unit sebelumnya, model data harus menggunakan hubungan tabel, kunci primer, dan indeks. Anda juga perlu memastikan integritas data dengan batasan.
Dalam latihan ini, Anda akan membuat hubungan tabel, kunci utama, kolom identitas, dan indeks untuk aplikasi referensi kartu online.
Tabel kartu
Ingat aturan untuk tabel kartu:
- Hanya satu baris untuk setiap kartu dalam tabel kartu
- Kartu dapat memiliki beberapa terjemahan bahasa dari teks asli dan nama kartu
- Atribut kartu adalah:
- ID Kartu
- Nama (tidak lebih dari 100 karakter)
- Warna (tidak lebih dari 10 karakter)
- Daya (tidak ada kartu yang dapat memiliki daya lebih besar dari 20)
- Jenis (tidak lebih dari 10 karakter)
- Teks (Area teks besarnya 500 karakter)
- Keadaan
- Seni
- Kartu hanya bisa menjadi salah satu warna berikut: hitam, biru, hijau, merah, putih, oranye
- Kartu hanya bisa menjadi salah satu jenis berikut: pahlawan, monster, mantra, senjata
Anda perlu membuat kunci primer pada kolom card_id dan menerapkan aturan batasan pada card_color dan card_type. Aturan lain yang perlu Anda tentukan adalah kolom mana yang dapat berisi nilai null dan mana yang diperlukan.
Anda dapat memperbarui tabel dengan apa yang Anda ketahui dari unit dan aturan skenario sebelumnya:
Kartu
Nama kolom | Jenis Data | Null? | Nilai default | Catatan |
---|---|---|---|---|
card_id | int | no | IDENTITAS dan Kunci Primer | |
card_name | nvarchar(100) | no | ||
card_type | nvarchar(10) | no | senjata, baju besi, mantra, monster | |
card_color | nvarchar(10) | no | Oranye, hitam, hijau, biru, putih, merah | |
card_power | tinyint | no | Ini dapat menggunakan tinyint di sini karena daya tidak akan lebih besar dari 20 | |
card_text | nvarchar(500) | yes | ||
card_status | bit | no | 1 | |
card_art | varbinary(max) | no |
Memperbarui tabel kartu di Azure Data Studio
Dengan Azure Data Studio terbuka dari latihan sebelumnya, temukan tabel dbo.cards di navigator koneksi di folder tabel. Klik kanan tabel kartu dan pilih Desain.
Tugas pertama adalah menentukan kolom mana yang mengizinkan nilai null dan yang tidak. Kartu harus memiliki semua informasi yang relevan di dalamnya seperti nama, jenis, warna, daya, status, dan beberapa seni. Satu-satunya kolom yang tidak perlu Anda miliki teksnya adalah kolom card_text . Menggunakan kotak centang di kolom Izinkan Nulls di perancang tabel, hapus centang semua kotak centang kecuali yang ada di baris card_text.
card_id adalah pengidentifikasi kunci utama tabel kartu. Di kolom Kunci Utama perancang tabel, pilih kotak centang untuk membuat card_id kunci utama untuk tabel.
Catatan
Ingat, dengan mendefinisikan kunci primer, Anda telah secara otomatis menambahkan indeks rowstore berkluster ke tabel ini.
Selain menjadikan kolom card_id sebagai kunci utama, Anda juga ingin mengatur kolom ini sebagai kolom identitas. Untuk membuat card_id kolom identitas, navigasikan ke area Properti Kolom dan gulir ke bawah untuk menemukan bagian Spesifikasi Identitas. Di sini, centang kotak Adalah Identitas . Nilai dalam bidang Benih Identitas dan Kenaikan Identitas harus diatur ke 1.
Selanjutnya, Anda perlu menambahkan nilai default ke card_type membatasi kolom ini untuk senjata, baju besi, mantra, atau monster. Untuk menambahkan nilai default ke kolom ini, pilih tab Periksa Batasan di perancang tabel
Selanjutnya, pilih tombol + Batasan Pemeriksaan Baru untuk menambahkan batasan ini ke kolom.
Atur nilai berikut di area Periksa Properti Batasan. Di bidang Nama, ubah nama batasan dari default yang disediakan menjadi CK_type. Navigasi ke bidang Ekspresi dan ketik ekspresi seperti yang diperlihatkan dalam teks berikut:
[card_type] = 'weapon' OR [card_type] = 'armor' OR [card_type] = 'spell' OR [card_type] = 'monster'
Sama seperti yang Anda lakukan dengan card_type, Anda perlu menambahkan nilai default ke kolom card_color . Warna kartu hanya dapat berupa nilai berikut: oranye, hitam, hijau, biru, putih, atau merah. Saat masih berada di tab Periksa Batasan di perancang tabel, pilih tombol + Batasan Pemeriksaan Baru untuk menambahkan batasan baru ke kolom.
Di bidang Nama, ubah nama batasan dari default yang disediakan menjadi CK_color. Navigasi ke bidang Ekspresi dan ketik ekspresi seperti yang diperlihatkan dalam teks berikut:
[card_color] = 'orange' OR [card_color] = 'black' OR [card_color] = 'green' OR [card_color] = 'blue' OR [card_color] = 'white' OR [card_color] = 'red'
Tampilan batasan pemeriksaan akan terlihat seperti gambar berikut setelah menambahkan batasan card_color:
Tabel kartu sekarang selesai dan akan terlihat seperti berikut ini:
Pilih tombol Terbitkan Perubahan di kiri atas jendela perancang tabel untuk menyimpan perubahan tabel ini ke database.
Jika diminta untuk meninjau perubahan, pertama, pilih kotak centang yang mengonfirmasi perubahan, lalu pilih tombol Perbarui Database .
Tabel terjemahan
Tabel terjemahan akan menjadi tabel pertama yang menggunakan kunci asing yang akan merujuk kembali ke tabel kartu dengan card_id. Hubungan ini tidak hanya akan membuat referensi kembali ke kolom card_id dalam tabel kartu, tetapi akan mencegah baris dimasukkan ke dalam tabel ini tanpa referensi tersebut card_id ada. Sekali lagi, ini juga akan memiliki kolom identitas (translation_id) yang akan berfungsi sebagai kunci utama, situasi yang berulang yang akan Anda lihat di setiap tabel yang dibuat dalam skenario aplikasi kartu.
Dengan mengingat kolom identitas dan kunci asing, inilah yang akan Anda tambahkan ke tabel terjemahan Anda:
Card_translations
Nama kolom | Jenis Data | Null? | Nilai default | Catatan |
---|---|---|---|---|
translation_id | int | no | IDENTITAS dan Kunci Primer | |
card_id | int | no | Kunci asing kembali ke tabel Kartu | |
translation_card_language | nvarchar(50) | no | ||
translation_card_name | nvarchar(500) | no | Nama kartu yang diterjemahkan | |
translation_card_text | nvarchar(2000) | yes | Teks kartu yang diterjemahkan |
Memperbarui tabel terjemahan di Azure Data Studio
Temukan tabel dbo.card_translations di navigator koneksi di folder tabel. Klik kanan tabel dan pilih Desain.
Pertama, putuskan kolom mana yang mengizinkan nilai null dan mana yang tidak. Baris dalam tabel ini harus memiliki ID, referensi ke card_id dari tabel kartu , bahasa terjemahan, dan nama kartu yang diterjemahkan. Seperti halnya tabel kartu, translation_card_text bisa null. Di kolom Izinkan Nulls di perancang tabel, hapus centang semua kotak centang kecuali yang ada di baris translation_card_text.
Kolom translation_id adalah pengidentifikasi kunci utama tabel ini. Di kolom Kunci Primer perancang tabel, pilih kotak centang untuk membuat translation_id kunci utama untuk tabel.
Catatan
Ingat, dengan mendefinisikan kunci primer, Anda telah secara otomatis menambahkan indeks rowstore berkluster ke tabel ini.
Selain menjadikan kolom translation_id sebagai kunci utama, Anda juga ingin mengatur kolom ini sebagai kolom identitas. Untuk mengatur translation_id sebagai kolom identitas, navigasikan ke area Properti Kolom dan gulir ke bawah untuk menemukan bagian Spesifikasi Identitas. Di sini, centang kotak Adalah Identitas . Nilai dalam bidang Benih Identitas dan Kenaikan Identitas harus diatur ke 1.
Setelah kolom dibuat, Anda perlu membuat kunci asing. Pilih tab Kunci Asing di perancang tabel, lalu pilih tombol + Kunci Asing Baru.
Di bidang Nama Kunci Asing, masukkan FK_card_id_to_translation dan gunakan menu drop-down Tabel Asing untuk memilih dbo.cards (tabel kartu).
Di panel Properti Kunci Asing di sebelah kanan perancang tabel, pilih tombol + Pemetaan Kolom Baru.
Pilih card_id menggunakan menu drop-down untuk bidang Kolom dan Kolom Asing.
Tabel card_translations sekarang selesai dan akan terlihat seperti berikut ini:
Pilih tombol Terbitkan Perubahan di kiri atas jendela perancang tabel untuk menyimpan perubahan tabel ini ke database.
Jika diminta untuk meninjau perubahan, pertama, pilih kotak centang yang mengonfirmasi perubahan, lalu pilih tombol Perbarui Database .
Tabel set
Pembaruan pada tabel set adalah kecil; Anda hanya akan menambahkan kunci primer yang juga merupakan kolom identitas. Anda akan menggunakan kolom set_id untuk pembaruan ini. Anda juga harus mengatur semua kolom agar tidak menerima nilai null.
Set
Nama kolom | Jenis Data | Null? | Nilai default | Catatan |
---|---|---|---|---|
set_id | int | no | IDENTITAS dan Kunci Primer | |
set_name | nvarchar(50) | no | ||
set_date | date | no | Tidak perlu menyimpan waktu (jam/menit/detik) sehingga DATE akan berfungsi di sini |
Memperbarui tabel set di Azure Data Studio
Temukan tabel dbo.sets di navigator koneksi di folder tabel. Klik kanan tabel dan pilih Desain.
Hapus centang pada semua kotak centang di kolom Izinkan Nulls di perancang tabel.
Kolom set_id adalah pengidentifikasi kunci utama tabel ini. Di kolom Kunci Primer perancang tabel, pilih kotak centang untuk membuat set_id kunci utama untuk tabel.
Catatan
Ingat, dengan mendefinisikan kunci primer, Anda telah secara otomatis menambahkan indeks rowstore berkluster ke tabel ini.
Selain menjadikan kolom set_id sebagai kunci utama, Anda juga ingin mengatur kolom ini sebagai kolom identitas. Untuk membuat kolom set_id menjadi kolom identitas, navigasikan ke area Properti Kolom dan gulir ke bawah untuk menemukan bagian Spesifikasi Identitas. Di sini, centang kotak Adalah Identitas . Nilai dalam bidang Benih Identitas dan Kenaikan Identitas harus diatur ke 1.
Tabel set sekarang selesai dan akan terlihat seperti berikut ini:
Pilih tombol Terbitkan Perubahan di kiri atas jendela perancang tabel untuk menyimpan perubahan tabel ini ke database.
Jika diminta untuk meninjau perubahan, pertama, pilih kotak centang yang mengonfirmasi perubahan, lalu pilih tombol Perbarui Database .
Tabel set_lists
Anda juga memerlukan kolom identitas/kunci utama pada kolom set_list_id . Selanjutnya, Anda perlu membuat dua pointer kembali ke kartu dan mengatur tabel, yang akan menjadi kunci asing; card_id dan set_id dengan jenis data yang cocok dengan tabel tersebut. Tabel set_lists ini akan penting ketika pengguna menginginkan semua informasi tentang kartu dalam set tertentu. Selain itu, hubungan kunci asing ini akan mencegah memiliki tabel dengan baris duplikat atau mencoba untuk melumpuhkan set_id ke dalam satu kolom pada tabel kartu, yang akan mengakibatkan masalah penguraian dan performa.
Tabel set_lists akan terlihat seperti berikut ini dengan modifikasi:
Set_lists
Nama kolom | Jenis Data | Null? | Nilai default | Catatan |
---|---|---|---|---|
set_list_id | int | no | IDENTITAS dan Kunci Primer | |
card_id | int | no | Kunci asing kembali ke tabel Kartu | |
set_id | int | no | Kunci asing kembali ke tabel Set |
Memperbarui tabel set_lists di Azure Data Studio
Temukan tabel dbo.set_lists di navigator koneksi di folder tabel. Klik kanan tabel kartu dan pilih Desain.
Hapus centang pada semua kotak centang di kolom Izinkan Nulls di perancang tabel.
Kolom set_list_id adalah pengidentifikasi kunci utama tabel ini. Di kolom Kunci Primer perancang tabel, pilih kotak centang untuk membuat kolom set_list_id menjadi kunci utama untuk tabel.
Catatan
Ingat, dengan mendefinisikan kunci primer, Anda telah secara otomatis menambahkan indeks rowstore berkluster ke tabel ini.
Selain menjadikan kolom set_list_id sebagai kunci utama, Anda juga ingin mengatur kolom ini sebagai kolom identitas. Untuk membuat kolom set_list_id menjadi kolom identitas, navigasikan ke area Properti Kolom dan gulir ke bawah untuk menemukan bagian Spesifikasi Identitas. Di sini, pilih kotak centang Is Identity . Nilai dalam bidang Benih Identitas dan Kenaikan Identitas harus diatur ke 1.
Selanjutnya, Anda perlu membuat kunci asing. Pilih tab Kunci Asing di perancang tabel, lalu pilih tombol + Kunci Asing Baru.
Untuk kunci pertama, di bidang Nama Kunci Asing, masukkan FK_card_id_to_card dan gunakan menu drop-down Tabel Asing untuk memilih dbo.cards.
Di panel Properti Kunci Asing di sebelah kanan perancang tabel, pilih tombol + Pemetaan Kolom Baru.
Pilih card_id menggunakan menu drop-down untuk bidang Kolom dan Kolom Asing.
Pilih tombol + Kunci Asing Baru lagi.
Di bidang Nama Kunci Asing, masukkan FK_set_id_to_set dan gunakan menu drop-down Tabel Asing untuk memilih dbo.sets.
Di panel Properti Kunci Asing di sebelah kanan perancang tabel, pilih tombol + Pemetaan Kolom Baru.
Pilih set_id menggunakan drop-down untuk bidang Kolom dan Kolom Asing.
Tabel set_lists sekarang selesai. Ini akan terlihat seperti gambar berikut:
Pilih tombol Terbitkan Perubahan di kiri atas jendela perancang tabel untuk menyimpan perubahan tabel ini ke database.
Jika diminta untuk meninjau perubahan, pertama, pilih kotak centang yang mengonfirmasi perubahan, lalu pilih tombol Perbarui Database .