Tutorial: Mendesain database relasional di Azure SQL Database

Berlaku untuk:Azure SQL Database

Azure SQL Database adalah database relasional sebagai layanan (DBaaS) di Microsoft Azure. Dalam tutorial ini, Anda akan mempelajari cara:

  • Sambungkan ke database
  • Membuat tabel dengan perintah T-SQL
  • Memuat massal data dengan BCP
  • Mengkueri data dengan perintah T-SQL

Catatan

Untuk tujuan tutorial ini, kita menggunakan Azure SQL Database. Anda juga dapat menggunakan database yang dikumpulkan dalam kumpulan elastis atau SQL Managed Instance. Untuk konektivitas ke SQL Managed Instance, lihat mulai cepat SQL Managed Instance ini: Mulai cepat: Mengonfigurasi Azure VM untuk menyambungkan ke Azure SQL Managed Instance dan Mulai Cepat: Mengonfigurasi koneksi dari titik ke situs ke Azure SQL Managed Instance dari lokal.

Prasyarat

Masuk ke portal Azure

Masuk ke portal Azure.

Membuat aturan firewall tingkat server

SQL Database membuat firewall IP di tingkat server. Firewall ini mencegah aplikasi dan alat eksternal terhubung ke server dan database apa pun di server kecuali aturan firewall memungkinkan IP mereka melalui firewall. Untuk mengaktifkan konektivitas eksternal ke database Anda, Anda harus terlebih dahulu menambahkan aturan firewall IP untuk alamat IP Anda (atau rentang alamat IP). Ikuti langkah-langkah ini untuk membuat aturan firewall IP tingkat server.

Penting

Microsoft Azure SQL Database berkomunikasi melalui port 1433. Jika Anda mencoba terhubung dari dalam jaringan perusahaan, lalu lintas keluar melalui port 1433 mungkin tidak diizinkan oleh firewall jaringan Anda. Jika demikian, Anda tidak bisa tersambung ke database Anda kecuali administrator Anda membuka port 1433.

  1. Setelah penyebaran selesai, pilih database SQL dari menu portal Microsoft Azure atau cari dan pilih database SQL dari halaman mana pun.

  2. Pilih yourDatabase Anda di halaman database SQL. Halaman gambaran umum untuk database Anda terbuka, memperlihatkan nama Server yang sepenuhnya memenuhi syarat (seperti contosodatabaseserver01.database.windows.net) dan menyediakan opsi untuk konfigurasi lebih lanjut.

    Screenshot of the Azure portal, database overview page with the server name highlighted.

  3. Salin nama server yang sepenuhnya memenuhi syarat ini yang digunakan untuk menyambungkan ke server dan database Anda dari SQL Server Management Studio.

  4. Pilih Jaringan di bawah Pengaturan. Pilih tab Akses Publik, lalu pilih Jaringan yang dipilih di bawah Akses jaringan publik untuk menampilkan bagian Aturan firewall.

    Screenshot of the Azure portal, networking page, showing where to set the server-level IP firewall rule.

  5. Pilih Tambahkan IPv4 klien Anda pada toolbar untuk menambahkan alamat IP Anda saat ini ke aturan firewall IP baru. Aturan firewall IP dapat membuka port 1433 untuk satu alamat IP atau rentang alamat IP.

  6. Pilih Simpan. Aturan firewall IP tingkat server dibuat untuk port pembukaan alamat IP Anda saat ini 1433 di server.

  7. Pilih OK lalu tutup halaman Pengaturan firewall.

Alamat IP Anda sekarang dapat melewati firewall IP. Sekarang Anda dapat tersambung ke database Anda menggunakan SQL Server Management Studio atau alat lain pilihan Anda. Pastikan untuk menggunakan akun admin server yang Anda buat sebelumnya.

Penting

Secara default, akses melalui firewall IP Database SQL diaktifkan untuk semua layanan Azure. Pilih NONAKTIF pada halaman ini untuk menonaktifkan semua layanan Azure.

Sambungkan ke database

Database Azure SQL ada di dalam server SQL logis. Dapat menyambungkan ke server master SQL logis menggunakan login, lalu menyambungkan ke database Anda. Atau, menggunakan pengguna mandiri, Anda dapat tersambung langsung ke database Azure SQL Anda.

Gunakan SQL Server Management Studio untuk menyambungkan ke database Azure SQL Anda.

  1. Buka SQL Server Management Studio.

  2. Dalam kotak dialog Koneksi ke Server, masukkan informasi berikut ini. Biarkan opsi lain sebagai default.

    Pengaturan Nilai yang disarankan Deskripsi
    Jenis server Mesin database Nilai ini diperlukan.
    Nama Server Nama server logis Azure SQL Database yang sepenuhnya memenuhi syarat Contohnya, your_logical_azure_sql_server.database.windows.net.
    Autentikasi Autentikasi SQL Server Gunakan Autentikasi SQL Server untuk memasukkan nama pengguna dan kata sandi.
    Autentikasi Microsoft Entra Untuk menyambungkan menggunakan MICROSOFT Entra ID, jika Anda adalah admin server Microsoft Entra, pilih Microsoft Entra MFA. Untuk informasi selengkapnya, lihat Mengonfigurasi dan mengelola autentikasi Microsoft Entra dengan Azure SQL.
    Masuk Akun admin server Jika menggunakan Autentikasi SQL Server, akun yang Anda tentukan saat membuat server.
    Password Kata sandi untuk akun admin server Anda Jika menggunakan Autentikasi SQL Server, kata sandi yang Anda tentukan saat membuat server.

    Screenshot of the connect to an Azure SQL Database logical server server dialog box in SQL Server Management Studio (SSMS).

  3. Pilih Opsi dalam kotak dialog Koneksi ke server. Di bagian Sambungkan ke database, masukkan database Anda untuk menyambungkan ke database ini.

    Screenshot of the options tab of the connect to server dialog box in SQL Server Management Studio (SSMS).

  4. Pilih Sambungkan. Jendela Object Explorer terbuka di SQL Server Object Explorer.

  5. Di Object Explorer, perluas Database lalu perluas Database yourDatabase untuk menampilkan objek dalam database sampel.

    Screenshot of SQL Server Management Studio (SSMS) showing database objects in object explorer.

  6. Di Object Explorer, klik kanan yourDatabase, lalu pilih Kueri Baru. Jendela kueri kosong terbuka yang tersambung ke database Anda.

Membuat tabel di database Anda

Buat empat tabel yang memodelkan sistem manajemen siswa untuk universitas menggunakan Transact-SQL:

  • Person
  • Course
  • Student
  • Credit

Diagram berikut ini memperlihatkan bagaimana tabel ini terkait satu sama lain. Beberapa kolom referensi tabel ini di tabel lain. Misalnya, tabel mereferensikan StudentPersonId kolom Person tabel. Pelajari diagram untuk memahami bagaimana tabel dalam tutorial ini terkait satu sama lain. Untuk melihat secara mendalam cara membuat tabel database yang dinormalisasi yang efektif, lihat Mendesain Database yang Dinormalisasi. Untuk informasi tentang memilih jenis data, lihat Jenis data. Secara default, tabel dibuat dalam skema default dbo , yang berarti nama dua bagian tabel akan menjadi dbo.Person, misalnya.

Catatan

Anda juga dapat menggunakan perancang tabel di SQL Server Management Studio untuk membuat dan mendesain tabel Anda.

Screenshot of the table designer in SQL Server Management Studio (SSMS) showing the table relationships.

  1. Di jendela kueri, jalankan kueri T-SQL berikut untuk membuat empat tabel di database Anda:

    -- Create Person table
    CREATE TABLE Person
    (
        PersonId INT IDENTITY PRIMARY KEY,
        FirstName NVARCHAR(128) NOT NULL,
        MiddelInitial NVARCHAR(10),
        LastName NVARCHAR(128) NOT NULL,
        DateOfBirth DATE NOT NULL
    )
    
    -- Create Student table
    CREATE TABLE Student
    (
        StudentId INT IDENTITY PRIMARY KEY,
        PersonId INT REFERENCES Person (PersonId),
        Email NVARCHAR(256)
    )
    
    -- Create Course table
    CREATE TABLE Course
    (
        CourseId INT IDENTITY PRIMARY KEY,
        Name NVARCHAR(50) NOT NULL,
        Teacher NVARCHAR(256) NOT NULL
    )
    
    -- Create Credit table
    CREATE TABLE Credit
    (
        StudentId INT REFERENCES Student (StudentId),
        CourseId INT REFERENCES Course (CourseId),
        Grade DECIMAL(5,2) CHECK (Grade <= 100.00),
        Attempt TINYINT,
        CONSTRAINT [UQ_studentgrades] UNIQUE CLUSTERED
        (
            StudentId, CourseId, Grade, Attempt
        )
    )
    

    Screenshot from SSMS showing the create tables script has been successfully executed.

  2. Perluas simpul Tabel di bawah YourDatabase di Object Explorer untuk melihat empat tabel baru yang Anda buat.

Memuat data ke dalam tabel

  1. Buat folder bernama sampleData di folder Unduhan stasiun kerja lokal Anda untuk menyimpan data sampel untuk database Anda. Contohnya, c:\Users\<your user name>\Downloads.

  2. Klik kanan tautanberikut dan simpan ke dalam folder sampleData.

  3. Buka jendela prompt perintah Windows baru dan navigasikan ke folder sampleData . Contohnya, cd c:\Users\<your user name>\Downloads.

  4. Jalankan perintah berikut bcp untuk menyisipkan data sampel ke dalam tabel yang menggantikan nilai untuk server, database, pengguna, dan kata sandi dengan nilai untuk lingkungan Anda.

    bcp Course in SampleCourseData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Person in SamplePersonData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Student in SampleStudentData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Credit in SampleCreditData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    

Sekarang Anda telah memuat data sampel ke dalam tabel yang Anda buat sebelumnya.

Mengkueri data

Jalankan kueri T-SQL berikut untuk mengambil informasi dari tabel database.

Kueri pertama ini menggabungkan keempat tabel untuk menemukan siswa yang diajarkan oleh 'Dominick Pope' yang memiliki nilai lebih tinggi dari 75%. Di jendela kueri, jalankan kueri T-SQL berikut:

-- Find the students taught by Dominick Pope who have a grade higher than 75%
SELECT  person.FirstName, person.LastName, course.Name, credit.Grade
FROM  Person AS person
    INNER JOIN Student AS student ON person.PersonId = student.PersonId
    INNER JOIN Credit AS credit ON student.StudentId = credit.StudentId
    INNER JOIN Course AS course ON credit.CourseId = course.courseId
WHERE course.Teacher = 'Dominick Pope'
    AND Grade > 75;

Kueri ini menggabungkan keempat tabel dan menemukan kursus di mana 'Noe Coleman' pernah mendaftar. Di jendela kueri, jalankan kueri T-SQL berikut:

-- Find all the courses in which Noe Coleman has ever enrolled
SELECT  course.Name, course.Teacher, credit.Grade
FROM  Course AS course
    INNER JOIN Credit AS credit ON credit.CourseId = course.CourseId
    INNER JOIN Student AS student ON student.StudentId = credit.StudentId
    INNER JOIN Person AS person ON person.PersonId = student.PersonId
WHERE person.FirstName = 'Noe'
    AND person.LastName = 'Coleman';

Tip

Untuk mempelajari selengkapnya tentang menulis kueri SQL, kunjungi Tutorial: Menulis pernyataan T-SQL.

Tip

Siap untuk mulai mengembangkan aplikasi .NET? Modul Learn gratis ini menunjukkan kepada Anda cara Mengembangkan dan mengonfigurasi aplikasi ASP.NET yang meminta Azure SQL Database, termasuk pembuatan database sederhana.

Langkah selanjutnya

Lanjutkan ke tutorial berikutnya untuk mempelajari tentang mendesain database menggunakan Visual Studio dan C#.