Öğretici: SSMS kullanarak Azure SQL veritabanı 'nda tek bir veritabanında ilişkisel veritabanı tasarlamaTutorial: Design a relational database in a single database within Azure SQL Database using SSMS

Azure SQL veritabanı, Microsoft Bulut (Azure) içindeki ilişkisel bir hizmet olarak veritabanı (DBaaS).Azure SQL database is a relational database-as-a-service (DBaaS) in the Microsoft Cloud (Azure). Bu öğreticide, Azure portalını ve SQL Server Management Studio'yu (SSMS) kullanarak şu işlemleri gerçekleştirmeyi öğreneceksiniz:In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Azure portal * kullanarak tek bir veritabanı oluşturunCreate a single database using the Azure portal*
  • Azure portal kullanarak sunucu düzeyinde bir IP güvenlik duvarı kuralı ayarlamaSet up a server-level IP firewall rule using the Azure portal
  • SSMS ile veritabanına bağlanmaConnect to the database with SSMS
  • SSMS ile tablo oluşturmaCreate tables with SSMS
  • BCP ile toplu veri yüklemeBulk load data with BCP
  • SSMS ile veri sorgulamaQuery data with SSMS

* Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun .*If you don't have an Azure subscription, create a free account before you begin.

İpucu

Aşağıdaki Microsoft Learn modülü, basit bir veritabanının oluşturulması dahil olmak üzere Azure SQL veritabanını sorgulayan bir ASP.NET uygulamasının nasıl geliştirileceği ve yapılandırılacağıhakkında bilgi edinmenize yardımcı olur.The following Microsoft Learn module helps you learn for free how to Develop and configure an ASP.NET application that queries an Azure SQL Database, including the creation of a simple database.

Not

Bu öğreticinin amacı doğrultusunda tek bir veritabanı kullanıyoruz.For the purpose of this tutorial, we are using a single database. Ayrıca, bir elastik havuzda veya yönetilen bir örnekteki örnek veritabanında havuza alınmış bir veritabanı da kullanabilirsiniz.You could also use a pooled database in an elastic pool or an instance database in a managed instance. Yönetilen bir örneğe bağlantı için bkz. bu yönetilen örnek hızlı başlangıçlara bakın: Hızlı Başlangıç: Azure SQL veritabanı yönetilen örneğine bağlanmak için Azure VM 'yi yapılandırma ve hızlı başlangıç: ŞirketIçinden Azure SQL veritabanı yönetilen örneği ile noktadan siteye bağlantı yapılandırın.For connectivity to a managed instance, see these managed instance quickstarts: Quickstart: Configure Azure VM to connect to an Azure SQL Database Managed Instance and Quickstart: Configure a point-to-site connection to an Azure SQL Database Managed Instance from on-premises.

ÖnkoşullarPrerequisites

Bu öğreticiyi tamamlayabilmeniz için yüklediğinizden emin olun:To complete this tutorial, make sure you've installed:

Azure portalında oturum açınSign in to the Azure portal

Azure Portal oturum açın.Sign in to the Azure portal.

Boş bir tek veritabanı oluşturmaCreate a blank single database

Azure SQL veritabanı 'nda tek bir veritabanı, tanımlı bir dizi işlem ve depolama kaynağı ile oluşturulur.A single database in Azure SQL Database is created with a defined set of compute and storage resources. Veritabanı bir Azure Kaynak grubu içinde oluşturulur ve veritabanı sunucusukullanılarak yönetilir.The database is created within an Azure resource group and is managed using an database server.

Boş tek veritabanı oluşturmak için bu adımları izleyin.Follow these steps to create a blank single database.

  1. Azure portalının sol üst köşesinde bulunan Kaynak oluştur öğesine tıklayın.Click Create a resource in the upper left-hand corner of the Azure portal.

  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.On the New page, select Databases in the Azure Marketplace section, and then click SQL Database in the Featured section.

    create empty-database

  3. SQL veritabanı formunu, önceki görüntüde gösterildiği gibi aşağıdaki bilgilerle doldurun:Fill out the SQL Database form with the following information, as shown on the preceding image:

    AyarSetting       Önerilen değerSuggested value AçıklamaDescription
    Veritabanı adıDatabase name yourDatabaseyourDatabase Geçerli veritabanı adları için bkz. veritabanı tanımlayıcıları.For valid database names, see Database identifiers.
    AbonelikSubscription AboneliğinizyourSubscription Abonelikleriniz hakkında daha ayrıntılı bilgi için bkz. Abonelikler.For details about your subscriptions, see Subscriptions.
    Kaynak grubuResource group yourResourceGroupyourResourceGroup Geçerli kaynak grubu adları için bkz. Adlandırma kuralları ve kısıtlamalar.For valid resource group names, see Naming rules and restrictions.
    Kaynak seçmeSelect source Boş veritabanıBlank database Boş bir veritabanı oluşturulması gerektiğini belirtir.Specifies that a blank database should be created.
  4. Mevcut bir veritabanı sunucusunu kullanmak için sunucu ' ya tıklayın veya yeni bir veritabanı sunucusu oluşturun ve yapılandırın.Click Server to use an existing database server or create and configure a new database server. Mevcut bir sunucuyu seçin ya da Yeni sunucu oluştur ' a tıklayın ve Yeni sunucu formunu aşağıdaki bilgilerle doldurun:Either select an existing server or click Create a new server and fill out the New server form with the following information:

    AyarSetting       Önerilen değerSuggested value AçıklamaDescription
    Sunucu adıServer name Genel olarak benzersiz bir adAny globally unique name Geçerli sunucu adları için bkz. Adlandırma kuralları ve kısıtlamalar.For valid server names, see Naming rules and restrictions.
    Sunucu yöneticisi oturum açma bilgileriServer admin login Geçerli bir adAny valid name Geçerli oturum açma adları için bkz. veritabanı tanımlayıcıları.For valid login names, see Database identifiers.
    ParolaPassword Geçerli bir parolaAny valid password Parolanız en az sekiz karakter uzunluğunda olmalı ve şu kategorilerden üçünden karakter kullanmalıdır: büyük harf karakterler, küçük harf karakterler, sayılar ve alfasayısal olmayan karakterler.Your password must have at least eight characters and must use characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    LocationLocation Geçerli bir konumAny valid location Bölgeler hakkında bilgi için bkz. Azure Bölgeleri.For information about regions, see Azure Regions.

    create database-server

  5. Tıklayın seçin.Click Select.

  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.Click Pricing tier to specify the service tier, the number of DTUs or vCores, and the amount of storage. Her hizmet katmanı için kullanılabilir DTU 'lar/sanal çekirdek sayısı ve depolama seçeneklerini keşfedebilirsiniz.You may explore the options for the number of DTUs/vCores and storage that is available to you for each service tier.

    Hizmet katmanını, DTU 'Lar veya sanal çekirdekler sayısını ve depolama alanı miktarını seçtikten sonra Uygula' ya tıklayın.After selecting the service tier, the number of DTUs or vCores, and the amount of storage, click Apply.

  7. Boş veritabanı için bir harmanlama girin (Bu öğretici için varsayılan değeri kullanın).Enter a Collation for the blank database (for this tutorial, use the default value). Harmanlamalar hakkında daha fazla bilgi için bkz. HarmanlamalarFor more information about collations, see Collations

  8. SQL veritabanı formunu tamamladığınıza göre, tek veritabanını sağlamak için Oluştur ' a tıklayın.Now that you've completed the SQL Database form, click Create to provision the single database. Bu adım birkaç dakika sürebilir.This step may take a few minutes.

  9. Araç çubuğunda Bildirimler’e tıklayarak dağıtım işlemini izleyin.On the toolbar, click Notifications to monitor the deployment process.

    bildirim

Sunucu düzeyinde IP güvenlik duvarı kuralı oluşturmaCreate a server-level IP firewall rule

SQL veritabanı hizmeti, sunucu düzeyinde bir IP güvenlik duvarı oluşturur.The SQL Database service creates an IP firewall at the server-level. Bu güvenlik duvarı, bir güvenlik duvarı kuralı tarafından IP 'nin güvenlik duvarından geçmesine izin verilmediği takdirde, dış uygulamaların ve araçların sunucuya ve sunucu üzerindeki veritabanlarına bağlanmasını engeller.This firewall prevents external applications and tools from connecting to the server and any databases on the server unless a firewall rule allows their IP through the firewall. Tek veritabanınızın dış bağlantısını etkinleştirmek için, önce IP adresiniz (veya IP adres aralığı) için bir IP güvenlik duvarı kuralı eklemeniz gerekir.To enable external connectivity to your single database, you must first add an IP firewall rule for your IP address (or IP address range). SQL veritabanı sunucu düzeyinde BIR IP güvenlik duvarı kuralıoluşturmak için bu adımları izleyin.Follow these steps to create a SQL Database server-level IP firewall rule.

Önemli

SQL veritabanı hizmeti 1433 bağlantı noktası üzerinden iletişim kurar.The SQL Database service communicates over port 1433. Bu hizmete bir kurumsal ağ içinden 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.If you are trying to connect to this service from within a corporate network, outbound traffic over port 1433 may not be allowed by your network's firewall. Bu durumda, yöneticiniz 1433 numaralı bağlantı noktasını açmadığı takdirde tek veritabanınıza bağlanamazsınız.If so, you cannot connect to your single database unless your administrator opens port 1433.

  1. Dağıtım tamamlandıktan sonra, sol taraftaki menüden SQL veritabanları ' na ve ardından SQL veritabanları sayfasında YourDatabase ' e tıklayın.After the deployment completes, click SQL databases from the left-hand menu and then click yourDatabase on the SQL databases page. Veritabanınızın genel bakış sayfası açılır ve tam sunucu adı (örneğin, yourserver.Database.Windows.net) görüntülenerek daha fazla yapılandırma seçeneği sunulur.The overview page for your database opens, showing you the fully qualified Server name (such as yourserver.database.windows.net) and provides options for further configuration.

  2. Bu tam sunucu adını, SQL Server Management Studio sunucunuza ve veritabanlarına bağlanmak için kullanmak üzere kopyalayın.Copy this fully qualified server name for use to connect to your server and databases from SQL Server Management Studio.

    sunucu adı

  3. Araç çubuğunda Sunucu güvenlik duvarını ayarla’ya tıklayın.Click Set server firewall on the toolbar. SQL Veritabanı sunucusu için Güvenlik duvarı ayarları sayfası açılır.The Firewall settings page for the SQL Database server opens.

    Sunucu düzeyi IP güvenlik duvarı kuralı

  4. Geçerli IP adresinizi yeni bir IP güvenlik duvarı kuralına eklemek için araç çubuğunda istemci IP 'Si Ekle ' ye tıklayın.Click Add client IP on the toolbar to add your current IP address to a new IP firewall rule. Bir IP güvenlik duvarı kuralı, tek bir IP adresi veya IP adresi aralığı için 1433 bağlantı noktasını açabilir.An IP firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  5. Kaydet’e tıklayın.Click Save. SQL veritabanı sunucusunda 1433 numaralı bağlantı noktasını açan geçerli IP adresiniz için sunucu düzeyinde bir IP güvenlik duvarı kuralı oluşturulur.A server-level IP firewall rule is created for your current IP address opening port 1433 on the SQL Database server.

  6. Tamam’a tıklayın ve sonra Güvenlik duvarı ayarları sayfasını kapatın.Click OK and then close the Firewall settings page.

IP adresiniz artık IP güvenlik duvarından geçebilirler.Your IP address can now pass through the IP firewall. Artık SQL Server Management Studio veya seçtiğiniz başka bir aracı kullanarak tek veritabanınıza bağlanabilirsiniz.You can now connect to your single database using SQL Server Management Studio or another tool of your choice. Daha önce oluşturduğunuz sunucu yöneticisi hesabını kullandığınızdan emin olun.Be sure to use the server admin account you created previously.

Önemli

Varsayılan olarak, SQL veritabanı IP güvenlik duvarı üzerinden erişim tüm Azure hizmetleri için etkinleştirilir.By default, access through the SQL Database IP firewall is enabled for all Azure services. Tüm Azure hizmetleri için devre dışı bırakmak isterseniz bu sayfadaki KAPALI öğesine tıklayın.Click OFF on this page to disable for all Azure services.

Veritabanına bağlanınConnect to the database

Tek veritabanınıza bağlantı kurmak için SQL Server Management Studio kullanın.Use SQL Server Management Studio to establish a connection to your single database.

  1. SQL Server Management Studio'yu açın.Open SQL Server Management Studio.

  2. Sunucuya Bağlan iletişim kutusuna şu bilgileri girin:In the Connect to Server dialog box, enter the following information:

    AyarSetting       Önerilen değerSuggested value AçıklamaDescription
    Sunucu türüServer type Veritabanı altyapısıDatabase engine Bu değer gereklidir.This value is required.
    Sunucu adıServer name Tam sunucu adıThe fully qualified server name Örneğin, yourserver.Database.Windows.net.For example, yourserver.database.windows.net.
    Kimlik DoğrulamasıAuthentication SQL Server Kimlik DoğrulamasıSQL Server Authentication SQL kimlik doğrulaması, bu öğreticide yapılandırdığımız tek kimlik doğrulama türüdür.SQL Authentication is the only authentication type that we've configured in this tutorial.
    Oturum açmaLogin Sunucu yöneticisi hesabıThe server admin account Sunucuyu oluştururken belirttiğiniz hesap.The account that you specified when you created the server.
    ParolaPassword Sunucu yöneticisi hesabınızın parolasıThe password for your server admin account Sunucuyu oluştururken belirttiğiniz parola.The password that you specified when you created the server.

    sunucuya bağlan

  3. Sunucuya bağlan iletişim kutusunda Seçenekler’e tıklayın.Click Options in the Connect to server dialog box. Veritabanına Bağlan bölümünde, bu veritabanına bağlanmak Için YourDatabase yazın.In the Connect to database section, enter yourDatabase to connect to this database.

    sunucuda veritabanına bağlanma

  4. Bağlan'a tıklayın.Click Connect. Nesne Gezgini penceresi SSMS 'de açılır.The Object Explorer window opens in SSMS.

  5. Nesne Gezgini' de, veritabanları ' nı genişletin ve ardından örnek veritabanındaki nesneleri görüntülemek için YourDatabase ' i genişletin.In Object Explorer, expand Databases and then expand yourDatabase to view the objects in the sample database.

    veritabanı nesneleri

Veritabanınızda tablo oluşturmaCreate tables in your database

Transact-SQL kullanarak üniversiteler için bir öğrenci yönetim sistemi modelleyen dört tablo ile bir veritabanı şeması oluşturun:Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • KişiPerson
  • DersCourse
  • ÖğrenciStudent
  • KrediCredit

Aşağıdaki diyagramda bu tabloların birbirleriyle nasıl ilişkili olduğu gösterilmektedir.The following diagram shows how these tables are related to each other. Bu tablolardan bazıları başka tablolardaki sütunlara başvurur.Some of these tables reference columns in other tables. Örneğin, öğrenci tablosu kişi tablosunun PersonID sütununa başvurur.For example, the Student table references the PersonId column of the Person table. Bu öğreticideki tabloların birbirleriyle ilişkisini anlamak için diyagram üzerinde çalışın.Study the diagram to understand how the tables in this tutorial are related to one another. Etkili veritabanı tabloları oluşturmaya ilişkin ayrıntılı bir bakış için bkz. Etkili veritabanı tabloları oluşturma.For an in-depth look at how to create effective database tables, see Create effective database tables. Veri türleri seçme hakkında bilgi için bkz. Veri türleri.For information about choosing data types, see Data types.

Not

Tablolarınızı oluşturup tasarlamak için SQL Server Management Studio’daki tablo tasarımcısını da kullanabilirsiniz.You can also use the table designer in SQL Server Management Studio to create and design your tables.

Tablo ilişkileri

  1. Nesne Gezgini, veritabanına sağ tıklayın ve Yeni sorgu' yı seçin.In Object Explorer, right-click yourDatabase and select New Query. Veritabanınıza bağlı boş bir sorgu penceresi açılır.A blank query window opens that is connected to your database.

  2. Sorgu penceresinde aşağıdaki sorguyu yürüterek veritabanınızda dört tablo oluşturun:In the query window, execute the following query to create four tables in your database:

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

    Tablo oluşturma

  3. Oluşturduğunuz tabloları görmek için Nesne Gezgini içindeki veritabanı altındaki Tablolar düğümünü genişletin.Expand the Tables node under yourDatabase in the Object Explorer to see the tables you created.

    ssms tables-created

Tablolara veri yüklemeLoad data into the tables

  1. Veritabanınızın örnek verilerini depolamak için Indirmeler klasörünüzde sampleData adlı bir klasör oluşturun.Create a folder called sampleData in your Downloads folder to store sample data for your database.

  2. Aşağıdaki bağlantılara sağ tıklayıp sampleData klasörüne kaydedin.Right-click the following links and save them into the sampleData folder.

  3. Bir komut istemi penceresi açın ve sampleData klasörüne gidin.Open a command prompt window and navigate to the sampleData folder.

  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ütün.Execute the following commands to insert sample data into the tables replacing the values for server, database, user, and password with the values for your environment.

    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.You have now loaded sample data into the tables you created earlier.

Verileri sorgulamaQuery data

Veritabanı tablolarından bilgi almak için aşağıdaki sorguları yürütün.Execute the following queries to retrieve information from the database tables. SQL sorguları yazma hakkında daha fazla bilgi edinmek için bkz. SQL sorguları yazma .See Write SQL queries to learn more about writing SQL queries. İlk sorgu, ' Dominick Pope ' tarafından% 75 ' den yüksek bir sınıfa sahip olan öğrencileri bulmak için tüm dört tabloyu birleştirir.The first query joins all four tables to find the students taught by 'Dominick Pope' who have a grade higher than 75%. İkinci sorgu tüm dört tabloyu birleştirir ve ' Noe Copaman ' öğesinin şimdiye kadar kaydolduğu kursları bulur.The second query joins all four tables and finds the courses in which 'Noe Coleman' has ever enrolled.

  1. SQL Server Management Studio sorgu penceresinde aşağıdaki sorguyu yürütün:In a SQL Server Management Studio query window, execute the following query:

    -- 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. Bir sorgu penceresinde aşağıdaki sorguyu yürütün:In a query window, execute the following query:

    -- 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ımlarNext steps

Bu öğreticide, birçok temel veritabanı görevini öğrendiniz.In this tutorial, you learned many basic database tasks. Şunları öğrendiniz:You learned how to:

  • Tek bir veritabanı oluşturmaCreate a single database
  • Sunucu düzeyinde IP güvenlik duvarı kuralı ayarlamaSet up a server-level IP firewall rule
  • SQL Server Management Studio (SSMS) kullanarak veritabanına bağlanmaConnect to the database with SQL Server Management Studio (SSMS)
  • Tablo oluşturmaCreate tables
  • Toplu veri yüklemeBulk load data
  • Bu verileri sorgulamaQuery that data

Visual Studio ve C# kullanarak veritabanı tasarlama hakkında bilgi edinmek için sonraki öğreticiye geçin.Advance to the next tutorial to learn about designing a database using Visual Studio and C#.