Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda mempelajari bagaimana GitHub Copilot membantu pengembang dalam merancang, memahami, dan mengembangkan skema database dengan saran yang disesuaikan dengan konteks. Baik Anda membangun dari awal atau rekayasa balik tabel yang ada, GitHub Copilot menyederhanakan proses di seluruh kerangka kerja SQL dan ORM (pemetaanObject-Relational), membuat skema bekerja lebih cepat, lebih cerdas, dan lebih mudah dipertahankan.
Bagian ini mencakup pembuatan skema baru dari awal dan bekerja dengan database yang sudah ada. Anda dapat menggunakan GitHub Copilot untuk menghasilkan definisi skema code-first, memperbarui objek, atau reverse-engineer dan menjelajahi database yang ada.
Pembuatan skema
- Tulis skrip SQL untuk membuat skema baru bernama
blog
untuk aplikasi blog. Skema harus mencakup tiga tabel:Posts
, ,Comments
danUsers
. Setiap tabel harus memiliki kunci primer yang sesuai, dan hubungan dan batasan kunci asing yang diperlukan harus ditentukan. - Tambahkan kolom baru bernama
LastModified
jenisdatetime
kePosts
tabel dalamblog
skema. Hasilkan skrip SQL yang diperbarui yang mencerminkan perubahan ini, termasuk definisi lengkap skema yang dimodifikasi.- Tidak diperlukan untuk membuat skema, tetapi akan sangat bagus jika Anda dapat menggunakan skrip yang dihasilkan dan menjalankannya untuk memvalidasi akurasi kode yang dihasilkan. Bagian berikut terus menggunakan skema baru ini yang disebut
blog
.
- Tidak diperlukan untuk membuat skema, tetapi akan sangat bagus jika Anda dapat menggunakan skrip yang dihasilkan dan menjalankannya untuk memvalidasi akurasi kode yang dihasilkan. Bagian berikut terus menggunakan skema baru ini yang disebut
-
Prisma
Buat skema untuk aplikasi blog menggunakan database saya saat ini. Skema harus menentukan skema database baru bernamablog
dan menyertakan tabel untukposts
, ,authors
dancomments
, dengan hubungan dan batasan yang sesuai. - Buat
Prisma
migrasi untuk menambahkan kolom yang disebutLastModified
(datetime
) ke tabelPost
. - Rekayasa balik database saat ini dan buat
CREATE TABLE
pernyataan untuk semua tabel dalamSalesLT
skema. - Meringkas struktur tabel
SalesLT.Product
dalam bahasa sehari-hari. -
models.py
Buat file (Django
) yang mencerminkan strukturSalesLT.Customer
tabel. -
Entity Framework Core
Buat kelas DbContext dan model untukSalesLT
skema. - Buat definisi model Sequelize untuk tabel
SalesLT.Product
danSalesLT.Category
dengan asosiasi yang sesuai. - Buat entitas
TypeORM
untuk tabelSalesLT.Customer
, termasuk kunci primer dan bidang terindeks. - Buat skrip migrasi untuk membuat tabel
knex.js
dengan kolomSalesLT.SalesOrderHeader
,OrderDate
, danCustomerID
.
Menentukan hubungan
- Tulis SQL untuk menentukan hubungan satu-ke-banyak antara
Users
danPosts
dalamblog
skema. Pastikan kunci asing dalamPosts
mereferensikan kepadaUsers(UserId)
. - Tambahkan
Categories
tabel ke skemablog
dan perbarui tabelPosts
untuk menyertakan kunci asing yang dapat bernilai null dan mereferensikanCategories(CategoryId)
. - Tulis SQL untuk memperbarui
Users
tabel untuk menyertakanRoleId
kolom dan membuat tabel baruRoles
. Tentukan hubungan kunci asing dan terapkan bahwa setiap pengguna harus memiliki peran. - Identifikasi dan jelaskan semua hubungan kunci asing yang melibatkan
SalesLT.SalesOrderHeader
tabel. - Tulis skrip SQL yang menghapus kunci asing antara
Posts
danCategories
dalamblog
skema dan menggantinya dengan hubungan banyak-ke-banyak menggunakan tabel gabungan baru. - Tulis
Prisma
pemetaan relasi antaraCustomer
, ,SalesOrderHeader
danSalesOrderDetail
. - Perbarui model Sequelize untuk termasuk hubungan
hasMany
danbelongsTo
antaraCustomer
danOrder
.
Skema validasi
- Sarankan batasan untuk tabel yang menyimpan kata sandi pengguna (misalnya, karakter khusus dan batas panjang).
- Konfirmasikan bahwa
Name
kolom diSalesLT.ProductCategory
tidak menggunakannvarchar(max)
dan memiliki batasan panjang maksimum yang wajar. - Periksa apakah
SalesLT.Address
tabel memiliki kunci primer dan semua bidang yang diperlukan ditentukan. - Buat skrip SQL untuk memvalidasi bahwa semua tabel dalam
SalesLT
skema menyertakanCreatedDate
kolom atauModifiedDate
. - Tentukan model SQLAlchemy untuk
Customer
tabel dan sertakan logika validasi menggunakan validator Pydantic atau Python kustom sebelum menyisipkan ke dalam database. - Tambahkan
Data Annotations
dalamEntity Framework
model untuk memastikan bidang sepertiEmail
danPhoneNumber
ikuti format tertentu.
Umpan balik: Penjelajah Skema dan Perancang
Untuk membantu kami memperbaiki dan meningkatkan GitHub Copilot untuk ekstensi MSSQL, gunakan templat masalah GitHub berikut untuk mengirimkan umpan balik Anda: GitHub Copilot Feedback
Saat mengirimkan umpan balik, pertimbangkan untuk menyertakan:
Skenario yang diuji - Beri tahu kami area mana yang Anda fokuskan, misalnya, pembuatan skema, pembuatan kueri, keamanan, pelokalan.
Apa yang bekerja dengan baik - Menjelaskan pengalaman apa pun yang terasa lancar, membantu, atau melebihi harapan Anda.
Masalah atau bug - Sertakan masalah, inkonsistensi, atau perilaku yang membingungkan. Cuplikan layar atau rekaman layar sangat membantu.
Saran untuk perbaikan – Bagikan ide untuk meningkatkan kegunaan, memperluas cakupan, atau meningkatkan respons GitHub Copilot.
Konten terkait
- GitHub Copilot untuk ekstensi MSSQL untuk Visual Studio Code
- Panduan Cepat: Menggunakan Obrolan dan Saran Sebaris GitHub Copilot (Pratinjau)
- Mulai cepat: Membuat kode (Pratinjau)
- Mulai Cepat: Menggunakan Penyusun Kueri Cerdas (Pratinjau)
- Panduan Cepat: Asisten Pengoptimal Kueri (Pratinjau)
- Mulai Cepat: Menggunakan Penjelas Logika Bisnis (Pratinjau)
- Panduan Memulai Cepat: Penganalisis Keamanan (Pratinjau)
- Panduan Cepat: Lokalisasi & Pembantu Format (Pratinjau)
- Panduan Cepat: Menghasilkan data untuk pengujian dan pembuatan tiruan (Pratinjau)
- Batasan dan Masalah yang Diketahui