Bagikan melalui


Panduan Awal Cepat: Menggunakan Penjelajah dan Perancang Skema (Pratinjau)

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, , Commentsdan Users. Setiap tabel harus memiliki kunci primer yang sesuai, dan hubungan dan batasan kunci asing yang diperlukan harus ditentukan.
  • Tambahkan kolom baru bernama LastModified jenis datetime ke Posts tabel dalam blog 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.
  • Prisma Buat skema untuk aplikasi blog menggunakan database saya saat ini. Skema harus menentukan skema database baru bernama blog dan menyertakan tabel untuk posts, , authorsdan comments, dengan hubungan dan batasan yang sesuai.
  • Buat Prisma migrasi untuk menambahkan kolom yang disebut LastModified (datetime) ke tabel Post.
  • Rekayasa balik database saat ini dan buat CREATE TABLE pernyataan untuk semua tabel dalam SalesLT skema.
  • Meringkas struktur tabel SalesLT.Product dalam bahasa sehari-hari.
  • models.py Buat file (Django) yang mencerminkan struktur SalesLT.Customer tabel.
  • Entity Framework Core Buat kelas DbContext dan model untuk SalesLT skema.
  • Buat definisi model Sequelize untuk tabel SalesLT.Product dan SalesLT.Category dengan asosiasi yang sesuai.
  • Buat entitas TypeORM untuk tabel SalesLT.Customer, termasuk kunci primer dan bidang terindeks.
  • Buat skrip migrasi untuk membuat tabel knex.js dengan kolom SalesLT.SalesOrderHeader, OrderDate, dan CustomerID.

Menentukan hubungan

  • Tulis SQL untuk menentukan hubungan satu-ke-banyak antara Users dan Posts dalam blog skema. Pastikan kunci asing dalam Posts mereferensikan kepada Users(UserId).
  • Tambahkan Categories tabel ke skema blog dan perbarui tabel Posts untuk menyertakan kunci asing yang dapat bernilai null dan mereferensikan Categories(CategoryId).
  • Tulis SQL untuk memperbarui Users tabel untuk menyertakan RoleId kolom dan membuat tabel baru Roles . 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 dan Categories dalam blog skema dan menggantinya dengan hubungan banyak-ke-banyak menggunakan tabel gabungan baru.
  • Tulis Prisma pemetaan relasi antara Customer, , SalesOrderHeaderdan SalesOrderDetail.
  • Perbarui model Sequelize untuk termasuk hubungan hasMany dan belongsTo antara Customer dan Order.

Skema validasi

  • Sarankan batasan untuk tabel yang menyimpan kata sandi pengguna (misalnya, karakter khusus dan batas panjang).
  • Konfirmasikan bahwa Name kolom di SalesLT.ProductCategory tidak menggunakan nvarchar(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 menyertakan CreatedDate kolom atau ModifiedDate .
  • Tentukan model SQLAlchemy untuk Customer tabel dan sertakan logika validasi menggunakan validator Pydantic atau Python kustom sebelum menyisipkan ke dalam database.
  • Tambahkan Data Annotations dalam Entity Framework model untuk memastikan bidang seperti Email dan PhoneNumber 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.