Öğretici: SSMS kullanarak Azure SQL Veritabanı'nda ilişkisel veritabanı tasarlama

Şunlar için geçerlidir:Azure SQL Veritabanı

Azure SQL Veritabanı, Microsoft Bulutu'ndaki (Azure) bir hizmet olarak ilişkisel veritabanıdır (DBaaS). Bu öğreticide, Azure portalını ve SQL Server Management Studio'yu (SSMS) kullanarak şu işlemleri gerçekleştirmeyi öğreneceksiniz:

  • Azure portalını kullanarak veritabanı oluşturma*
  • Azure portalını kullanarak sunucu düzeyinde IP güvenlik duvarı kuralı ayarlama
  • SSMS ile veritabanına bağlanma
  • SSMS ile tablo oluşturma
  • BCP ile toplu veri yükleme
  • SSMS ile verileri sorgulama

*Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Bahşiş

Bu ücretsiz Learn modülü, basit bir veritabanı oluşturma dahil olmak üzere Azure SQL Veritabanı'nı sorgulayan bir ASP.NET uygulaması geliştirmeyi ve yapılandırmayı gösterir.

Not

Bu öğreticinin amacı doğrultusunda Azure SQL Veritabanı'nı kullanıyoruz. Elastik havuzda veya SQL Yönetilen Örneği'nde havuza alınan bir veritabanı da kullanabilirsiniz. SQL Yönetilen Örneği'ne bağlantı için şu SQL Yönetilen Örneği hızlı başlangıçlarına bakın: Hızlı Başlangıç: Azure VM'yi Azure SQL Yönetilen Örneğine bağlanacak şekilde yapılandırma ve Hızlı Başlangıç: Şirket içinden Azure SQL Yönetilen Örneği'ne noktadan siteye bağlantı yapılandırma.

Önkoşullar

Bu öğreticiyi tamamlamak için şunları yüklediğinizden emin olun:

Azure portalda oturum açma

Azure Portal’ında oturum açın.

Azure SQL Veritabanı'nda boş veritabanı oluşturma

Azure SQL Veritabanı'nda tanımlı işlem ve depolama kaynakları kümesiyle bir veritabanı oluşturulur. Veritabanı bir Azure kaynak grubu içinde oluşturulur ve mantıksal sql sunucusu kullanılarak yönetilir.

Boş veritabanı oluşturmak için bu adımları izleyin.

  1. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.

  2. Yeni sayfasında, Azure Market bölümünde Veritabanları’nı seçin ve ardından Öne Çıkan bölümünde SQL Veritabanı’na tıklayın.

    Screenshot of the Azure portal, selecting a SQL Database from Azure Marketplace.

  3. ÖNCEKI görüntüde gösterildiği gibi SQL Veritabanı formunu aşağıdaki bilgilerle doldurun:

    Ayarı Önerilen değer Açıklama
    Veritabanı adı yourDatabase Geçerli veritabanı adları için bkz . Veritabanı tanımlayıcıları.
    Abonelik yourSubscription Abonelikleriniz hakkında daha ayrıntılı bilgi için bkz. Abonelikler.
    Kaynak grubu yourResourceGroup Geçerli kaynak grubu adları için bkz. Adlandırma kuralları ve kısıtlamalar.
    Kaynak seçme Boş veritabanı Boş bir veritabanı oluşturulması gerektiğini belirtir.
  4. Var olan bir sunucuyu kullanmak için açılan listeden bir sunucu seçin veya yeni bir sunucu oluşturup yapılandırmak için Yeni oluştur'u seçin. Var olan bir sunucuyu seçin veya Yeni sunucu oluştur'a tıklayın ve Yeni sunucu formunu aşağıdaki bilgilerle doldurun:

    Ayarı Önerilen değer Açıklama
    Sunucu adı Genel olarak benzersiz bir ad Geçerli sunucu adları için bkz. Adlandırma kuralları ve kısıtlamalar.
    Sunucu yöneticisi oturum açma bilgileri Geçerli bir ad Geçerli oturum açma adları için bkz . Veritabanı tanımlayıcıları.
    Parola Geçerli bir parola Parolanızın en az sekiz karakteri olmalı ve şu kategorilerden üçünün karakterlerini kullanmalıdır: büyük harf karakterleri, küçük harf karakterleri, sayılar ve alfasayısal olmayan karakterler.
    Location Geçerli bir konum Bölgeler hakkında bilgi için bkz. Azure Bölgeleri.

    Screenshot of the Azure portal, creating a logical server for Azure.

  5. Seç'e tıklayın.

  6. Hizmet katmanını, DTU veya sanal çekirdek sayısını ve depolama alanı miktarını belirtmek için Fiyatlandırma katmanı’na tıklayın. Her hizmet katmanı için kullanabileceğiniz DTU/sanal çekirdek sayısı ve depolama alanı seçeneklerini inceleyebilirsiniz.

    Hizmet katmanını, DTU'ların veya sanal çekirdeklerin sayısını ve depolama miktarını seçtikten sonra Uygula'ya tıklayın.

  7. Boş veritabanı için bir Harmanlama girin (bu öğretici için varsayılan değeri kullanın). Harmanlamalar hakkında daha fazla bilgi için bkz. Harmanlamalar

  8. SQL Veritabanı formunu tamamladığınıza göre, veritabanını sağlamak için Oluştur'a tıklayın. Bu adım birkaç dakika sürebilir.

  9. Araç çubuğunda Bildirimler’e tıklayarak dağıtım işlemini izleyin.

    Screenshot shows the Notifications menu with Deployment in progress.

Sunucu düzeyinde IP güvenlik duvarı kuralı oluşturma

Azure SQL Veritabanı, sunucu düzeyinde bir IP güvenlik duvarı oluşturur. Bu güvenlik duvarı, bir güvenlik duvarı kuralı güvenlik duvarı üzerinden IP'lerine izin vermediği sürece dış uygulamaların ve araçların sunucuya ve sunucudaki veritabanlarına bağlanmasını engeller. Veritabanınıza dış bağlantıyı etkinleştirmek için önce IP adresiniz (veya IP adresi aralığı) için bir IP güvenlik duvarı kuralı eklemeniz gerekir. Sunucu düzeyinde ip güvenlik duvarı kuralı oluşturmak için bu adımları izleyin.

Önemli

Azure SQL Veritabanı 1433 numaralı bağlantı noktası üzerinden iletişim kurar. Şirket ağı içinden bu hizmete bağlanmaya çalışıyorsanız, ağınızın güvenlik duvarı tarafından 1433 numaralı bağlantı noktası üzerinden giden trafiğe izin verilmiyor olabilir. Bu durumda, yöneticiniz 1433 numaralı bağlantı noktasını açmadığı sürece veritabanınıza bağlanamazsınız.

  1. Dağıtım tamamlandıktan sonra Azure portalı menüsünden SQL veritabanları'nı seçin veya herhangi bir sayfadan SQL veritabanlarını arayın ve seçin.

  2. SQL veritabanları sayfasında Veritabanınızı seçin. Veritabanınızın genel bakış sayfası açılır ve size tam Sunucu adını (örneğin contosodatabaseserver01.database.windows.net) gösterir ve daha fazla yapılandırma için seçenekler sağlar.

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

  3. Sql Server Management Studio'dan sunucunuza ve veritabanlarınıza bağlanmak için bu tam sunucu adını kopyalayın.

  4. Ayarlar'ın altında Ağ'ı seçin. Genel Erişim sekmesini seçin ve ardından Güvenlik duvarı kuralları bölümünü görüntülemek için Genel ağ erişimi'nin altında Seçili ağlar'ı seçin.

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

  5. Geçerli IP adresinizi yeni bir IP güvenlik duvarı kuralına eklemek için araç çubuğunda İstemci IPv4'ünüzü ekle'yi seçin. IP güvenlik duvarı kuralı, tek bir IP adresi veya ip adresi aralığı için 1433 numaralı bağlantı noktasını açabilir.

  6. Kaydet’i seçin. Geçerli IP adresiniz için sunucuda 1433 numaralı bağlantı noktasını açan bir sunucu düzeyinde IP güvenlik duvarı kuralı oluşturulur.

  7. Tamam'ı seçin ve güvenlik duvarı ayarları sayfasını kapatın.

IP adresiniz artık IP güvenlik duvarından geçebilir. Artık SQL Server Management Studio'yu veya tercih ettiğiniz başka bir aracı kullanarak veritabanınıza bağlanabilirsiniz. Daha önce oluşturduğunuz sunucu yöneticisi hesabını kullandığınızdan emin olun.

Önemli

Varsayılan olarak, SQL Veritabanı IP güvenlik duvarı üzerinden erişim tüm Azure hizmetleri için etkinleştirilir. Tüm Azure hizmetleri için devre dışı bırakmak isterseniz bu sayfadaki KAPALI öğesine tıklayın.

Veritabanına bağlanın

Veritabanınızla bağlantı kurmak için SQL Server Management Studio'yu kullanın.

  1. SQL Server Management Studio’yu açın.

  2. Sunucuya Bağlan iletişim kutusuna şu bilgileri girin:

    Ayarı Önerilen değer Açıklama
    Sunucu türü Veritabanı altyapısı Bu değer gereklidir.
    Sunucu adı Tam sunucu adı Örneğin, yourserver.database.windows.net.
    Kimlik Doğrulaması SQL Server Kimlik Doğrulaması SQL Kimlik Doğrulaması, bu öğreticide yapılandırdığımız tek kimlik doğrulama türüdür.
    Oturum açma Sunucu yöneticisi hesabı Sunucuyu oluştururken belirttiğiniz hesap.
    Parola Sunucu yöneticisi hesabınızın parolası Sunucuyu oluştururken belirttiğiniz parola.

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

  3. Sunucuya bağlan iletişim kutusunda Seçenekler’e tıklayın. Veritabanına bağlan bölümünde, bu veritabanına bağlanmak için Veritabanınızı girin.

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

  4. Bağlan'a tıklayın. Nesne Gezgini penceresi SSMS'de açılır.

  5. Nesne Gezgini'nde Veritabanları'nıgenişletin ve ardından veritabanınızı genişleterek örnek veritabanındaki nesneleri görüntüleyin.

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

Veritabanınızda tablo oluşturma

Transact-SQL kullanarak üniversiteler için bir öğrenci yönetim sistemi modelleyen dört tablo ile bir veritabanı şeması oluşturun:

  • Kişi
  • Kurs
  • Öğrenci
  • Kredi

Aşağıdaki diyagramda bu tabloların birbirleriyle nasıl ilişkili olduğu gösterilmektedir. Bu tablolardan bazıları başka tablolardaki sütunlara başvurur. Örneğin, Öğrenci tablosu Kişi tablosunun PersonId sütununa başvurur. Bu öğreticideki tabloların birbirleriyle ilişkisini anlamak için diyagram üzerinde çalışın. Etkili veritabanı tabloları oluşturmaya ilişkin ayrıntılı bir bakış için bkz. Etkili veritabanı tabloları oluşturma. Veri türleri seçme hakkında bilgi için bkz. Veri türleri.

Not

Tablolarınızı oluşturup tasarlamak için SQL Server Management Studio’daki tablo tasarımcısını da kullanabilirsiniz.

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

  1. Nesne Gezgini'ndeDatabase'inize sağ tıklayın ve Yeni Sorgu'yu seçin. Veritabanınıza bağlı boş bir sorgu penceresi açılır.

  2. Sorgu penceresinde aşağıdaki sorguyu yürüterek veritabanınızda dört tablo oluşturun:

    -- 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
        )
    )
    

    Create tables

  3. Oluşturduğunuz tabloları görmek için Nesne Gezgini'ndeVeritabanınızın altındaki Tablolar düğümünü genişletin.

    Screenshot of Query editor in SQL Server Management Studio (SSMS) with successful create table query.

Tablolara veri yükleme

  1. Veritabanınızın örnek verilerini depolamak için İndirilenler klasörünüzde sampleData adlı bir klasör oluşturun.

  2. Aşağıdaki bağlantılara sağ tıklayın ve bunları sampleData klasörüne kaydedin.

  3. Bir komut istemi penceresi açın ve sampleData klasörüne gidin.

  4. Sunucu, veritabanı, kullanıcı ve parola değerlerini ortamınızın değerleriyle değiştirerek tablolara örnek veri eklemek için aşağıdaki komutları yürütebilirsiniz.

    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 ","
    

Daha önce oluşturduğunuz tablolara örnek veriler yüklediniz.

Verileri sorgulama

Veritabanı tablolarından bilgi almak için aşağıdaki sorguları yürütün. SQL sorguları yazma hakkında daha fazla bilgi edinmek için bkz. SQL sorguları yazma. İlk sorgu, 'Dominick Pope' tarafından öğretilen ve %75'ten yüksek nota sahip öğrencileri bulmak için dört tabloyu da birleştirir. İkinci sorgu dört tablonun tümünü birleştirir ve 'Noe Coleman' tarafından kaydedilmiş olan kursları bulur.

  1. SQL Server Management Studio sorgu penceresinde aşağıdaki sorguyu yürütün:

    -- 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
    
  2. Sorgu penceresinde aşağıdaki sorguyu yürütebilirsiniz:

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

Sonraki adımlar

Bu öğreticide birçok temel veritabanı görevini öğrendiniz. Şunları öğrendiniz:

  • Azure portalını kullanarak veritabanı oluşturma*
  • Azure portalını kullanarak sunucu düzeyinde IP güvenlik duvarı kuralı ayarlama
  • SSMS ile veritabanına bağlanma
  • SSMS ile tablo oluşturma
  • BCP ile toplu veri yükleme
  • SSMS ile verileri sorgulama

Visual Studio ve C# kullanarak veritabanı tasarlama hakkında bilgi edinmek için sonraki öğreticiye geçin.