Bagikan melalui


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 data secara massal dengan BCP (Bulk Copy Program)
  • 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 panduan awal SQL Managed Instance berikut: Panduan Awal: Konfigurasi Azure VM untuk menyambungkan ke Azure SQL Managed Instance dan Panduan Awal: Konfigurasi koneksi point-to-site ke Azure SQL Managed Instance dari lingkungan on-premises.

Prasyarat

Masuk ke portal Microsoft Azure.

Masuk ke portal Azure.

Membuat aturan firewall IP pada 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 menyambungkan ke layanan ini dari dalam jaringan perusahaan, lalu lintas keluar melalui port 1433 mungkin tidak diizinkan oleh firewall jaringan Anda. Jika demikian, Anda tidak dapat 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 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.

    Cuplikan layar portal Microsoft Azure, halaman gambaran umum database dengan nama server disorot.

  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.

    Cuplikan layar portal Microsoft Azure, halaman jaringan, memperlihatkan tempat mengatur aturan firewall IP tingkat server.

  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 alamat IP Anda saat ini dengan membuka port 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 OFF 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 Sambungkan ke Server , masukkan informasi berikut ini. Biarkan opsi lain sebagai default.

    Setting Nilai yang disarankan Description
    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.

    Cuplikan layar kotak dialog Sambungkan ke Server di SQL Server Management Studio (SSMS).

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

    Cuplikan layar tab opsi kotak dialog sambungkan ke server di SQL Server Management Studio (SSMS).

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

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

    Cuplikan layar SQL Server Management Studio (SSMS) memperlihatkan objek database di penjelajah objek.

  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 tabel ini memiliki kolom yang mereferensikan kolom di tabel lainnya. Misalnya, tabel Student mereferensikan kolom PersonId dari tabel Person. 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.

Cuplikan layar perancang tabel di SQL Server Management Studio (SSMS) memperlihatkan hubungan tabel.

  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,
        MiddleInitial NVARCHAR (10),
        LastName NVARCHAR (128) NOT NULL,
        DateOfBirth DATE NOT NULL
    );
    
    -- Create Student table
    CREATE TABLE Student
    (
        StudentId INT IDENTITY PRIMARY KEY,
        PersonId INT FOREIGN KEY 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 FOREIGN KEY REFERENCES Student (StudentId),
        CourseId INT FOREIGN KEY REFERENCES Course (CourseId),
        Grade DECIMAL (5, 2) CHECK (Grade <= 100.00),
        Attempt TINYINT,
        CONSTRAINT [UQ_studentgrades]
            UNIQUE CLUSTERED (StudentId, CourseId, Grade, Attempt)
    );
    

    Cuplikan layar dari SQL Server Management Directory yang menunjukkan skrip buat tabel telah berhasil dijalankan.

  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.

Kueri 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';

Tips

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

Langkah selanjutnya