Tutorial: Diseño de una base de datos relacional en una base de datos única en Azure SQL Database con SSMSTutorial: Design a relational database in a single database within Azure SQL Database using SSMS

Azure SQL Database es una base de datos como servicio (DBaaS) relacional en Microsoft Cloud (Azure).Azure SQL database is a relational database-as-a-service (DBaaS) in the Microsoft Cloud (Azure). En este tutorial, aprenderá a usar Azure Portal y SQL Server Management Studio (SSMS) para:In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Creación de una base de datos única mediante Azure Portal*Create a single database using the Azure portal*
  • Configuración de una regla de firewall por IP de nivel de servidor mediante Azure PortalSet up a server-level IP firewall rule using the Azure portal
  • Conéctese a la base de datos con SSMSConnect to the database with SSMS
  • Crear tablas con SSMSCreate tables with SSMS
  • Carga masiva de datos con BCPBulk load data with BCP
  • Consulta de datos con SSMSQuery data with SSMS

*Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.*If you don't have an Azure subscription, create a free account before you begin.

Nota

Para este tutorial, se utiliza una base de datos única.For the purpose of this tutorial, we are using a single database. También puede usar una base de datos agrupada en un grupo elástico o una base de datos de instancia en una instancia administrada.You could also use a pooled database in an elastic pool or an instance database in a managed instance. Para la conectividad a una instancia administrada, consulte estos artículos de inicio rápido sobre la instancia administrada: Inicio rápido: Configuración de una máquina virtual de Azure para la conexión a Instancia administrada de Azure SQL Database y Inicio rápido: Configuración de una conexión de punto a sitio a una Instancia administrada de Azure SQL Database desde el entorno local.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.

Requisitos previosPrerequisites

Para completar este tutorial, asegúrese de que tiene instalados los siguientes elementos:To complete this tutorial, make sure you've installed:

Inicio de sesión en Azure PortalSign in to the Azure portal

Inicie sesión en el Azure Portal.Sign in to the Azure portal.

Crear una base de datos única en blancoCreate a blank single database

Se crea una base de datos única en Azure SQL Database con un conjunto definido de recursos de proceso y almacenamiento.A single database in Azure SQL Database is created with a defined set of compute and storage resources. La base de datos se crea dentro de un grupo de recursos de Azure y se administra mediante un servidor de bases de datos.The database is created within an Azure resource group and is managed using an database server.

Siga estos pasos para crear una base de datos única en blanco.Follow these steps to create a blank single database.

  1. Haga clic en Crear un recurso en la esquina superior izquierda de Azure Portal.Click Create a resource in the upper left-hand corner of the Azure portal.

  2. En la página Nuevo, seleccione Bases de datos en la sección de Microsoft Azure Marketplace y, a continuación, haga clic en SQL Database en la sección Destacados.On the New page, select Databases in the Azure Marketplace section, and then click SQL Database in the Featured section.

    crear una base de datos en blanco

  3. Rellene el formulario de SQL Database con la siguiente información, como se muestra en la imagen anterior:Fill out the SQL Database form with the following information, as shown on the preceding image:

    ConfiguraciónSetting       Valor sugeridoSuggested value DESCRIPCIÓNDescription
    Nombre de la base de datosDatabase name yourDatabaseyourDatabase Para conocer los nombres de base de datos válidos, consulte Identificadores de base de datos.For valid database names, see Database identifiers.
    SuscripciónSubscription yourSubscriptionyourSubscription Para más información acerca de sus suscripciones, consulte Suscripciones.For details about your subscriptions, see Subscriptions.
    Grupos de recursosResource group yourResourceGroupyourResourceGroup Para conocer cuáles son los nombres de grupo de recursos válidos, consulte el artículo Naming conventions (Convenciones de nomenclatura).For valid resource group names, see Naming rules and restrictions.
    Seleccionar origenSelect source Base de datos en blancoBlank database Especifica que se debe crear una base de datos en blanco.Specifies that a blank database should be created.
  4. Haga clic en Servidor para usar un servidor de bases de datos existente o para crear y configurar uno nuevo.Click Server to use an existing database server or create and configure a new database server. Seleccione un servidor existente o haga clic en Crear un nuevo servidor y rellene el formulario Nuevo servidor con la información siguiente:Either select an existing server or click Create a new server and fill out the New server form with the following information:

    ConfiguraciónSetting       Valor sugeridoSuggested value DESCRIPCIÓNDescription
    Nombre del servidorServer name Cualquier nombre globalmente únicoAny globally unique name Para conocer cuáles son los nombres de servidor válidos, consulte el artículo Naming conventions (Convenciones de nomenclatura).For valid server names, see Naming rules and restrictions.
    Inicio de sesión del administrador del servidorServer admin login Cualquier nombre válidoAny valid name Para conocer los nombres de inicio de sesión válidos, consulte Identificadores de base de datos.For valid login names, see Database identifiers.
    ContraseñaPassword Cualquier contraseña válidaAny valid password La contraseña debe tener un mínimo de ocho caracteres y debe usar caracteres de tres de las siguientes categorías: caracteres en mayúsculas, caracteres en minúsculas, números y caracteres no alfanuméricos.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.
    UbicaciónLocation Cualquier ubicación válidaAny valid location Para obtener información acerca de las regiones, consulte Regiones de Azure.For information about regions, see Azure Regions.

    create database-server

  5. Haga clic en Seleccionar.Click Select.

  6. Haga clic en Plan de tarifa para especificar el nivel de servicio, el número de DTU o de núcleos virtuales y la cantidad de almacenamiento.Click Pricing tier to specify the service tier, the number of DTUs or vCores, and the amount of storage. Puede explorar las opciones del número de DTU o núcleos virtuales, y la cantidad de almacenamiento que están a su disposición para cada nivel de servicio.You may explore the options for the number of DTUs/vCores and storage that is available to you for each service tier.

    Después de seleccionar el nivel de servicio, el número de DTU o núcleos virtuales y la cantidad de almacenamiento, haga clic en Aplicar.After selecting the service tier, the number of DTUs or vCores, and the amount of storage, click Apply.

  7. Introduzca una intercalación para la base de datos en blanco (para este tutorial, use el valor predeterminado).Enter a Collation for the blank database (for this tutorial, use the default value). Para más información sobre las intercalaciones, vea Collations (Intercalaciones)For more information about collations, see Collations

  8. Una vez completado el formulario de SQL Database, haga clic en Crear para aprovisionar la base de datos única.Now that you've completed the SQL Database form, click Create to provision the single database. Esta operación puede tardar unos minutos.This step may take a few minutes.

  9. En la barra de herramientas, haga clic en Notificaciones para supervisar el proceso de implementación.On the toolbar, click Notifications to monitor the deployment process.

    notificación

Creación de una regla de firewall de nivel de servidorCreate a server-level IP firewall rule

El servicio SQL Database crea un firewall por IP en el nivel de servidor.The SQL Database service creates an IP firewall at the server-level. Este firewall evita que las herramientas y aplicaciones externas se conecten al servidor o a las bases de datos de este, a menos que una regla de firewall permita sus direcciones IP.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. Para habilitar la conectividad externa a la base de datos única, primero debe agregar una regla de firewall para la dirección IP (o un intervalo de direcciones IP).To enable external connectivity to your single database, you must first add an IP firewall rule for your IP address (or IP address range). Siga estos pasos para crear una regla de firewall por IP de nivel de servidor de SQL Database.Follow these steps to create a SQL Database server-level IP firewall rule.

Importante

El servicio SQL Database se comunica a través del puerto 1433.The SQL Database service communicates over port 1433. Si intenta conectarse a este servicio desde dentro de una red corporativa, es posible que el firewall de la red no permita el tráfico de salida a través del puerto 1433.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. En ese caso, no puede conectarse a la base de datos única, salvo que el administrador abra el puerto 1433.If so, you cannot connect to your single database unless your administrator opens port 1433.

  1. Cuando se haya finalizado la implementación, haga clic en Bases de datos SQL en el menú de la izquierda y, después, haga clic en yourDatabase en la página Bases de datos SQL.After the deployment completes, click SQL databases from the left-hand menu and then click yourDatabase on the SQL databases page. Se abre la página de información general de la base de datos, que muestra el nombre del servidor completo (por ejemplo, sample-svr.database.windows.net) y proporciona opciones para otras configuraciones.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. Copie este nombre del servidor completo para conectarse a su servidor y a sus bases de datos de SQL Server Management Studio.Copy this fully qualified server name for use to connect to your server and databases from SQL Server Management Studio.

    nombre del servidor

  3. Haga clic en Establecer el firewall del servidor en la barra de herramientas.Click Set server firewall on the toolbar. Se abrirá la página Configuración del firewall del servidor de SQL Database.The Firewall settings page for the SQL Database server opens.

    Regla de firewall de IP en el nivel de servidor

  4. Haga clic en Agregar IP de cliente en la barra de herramientas para agregar la dirección IP actual a la nueva regla de firewall por IP.Click Add client IP on the toolbar to add your current IP address to a new IP firewall rule. La regla de firewall por IP puede abrir el puerto 1433 para una única dirección IP o un intervalo de direcciones IP.An IP firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  5. Haga clic en Save(Guardar).Click Save. Se crea una regla de firewall de IP en el nivel de servidor para el puerto 1433 de la dirección IP actual en el servidor de SQL Database.A server-level IP firewall rule is created for your current IP address opening port 1433 on the SQL Database server.

  6. Haga clic en Aceptar y después cierre la página Configuración de firewall.Click OK and then close the Firewall settings page.

Ahora puede pasar la dirección IP a través del firewall por IP.Your IP address can now pass through the IP firewall. Ahora puede conectarse a la base de datos única mediante SQL Server Management Studio u otra herramienta que elija.You can now connect to your single database using SQL Server Management Studio or another tool of your choice. Asegúrese de usar la cuenta de administración de servidor que creó anteriormente.Be sure to use the server admin account you created previously.

Importante

De forma predeterminada, el acceso a través del firewall por IP de SQL Database está habilitado para todos los servicios de Azure.By default, access through the SQL Database IP firewall is enabled for all Azure services. Haga clic en OFF en esta página para deshabilitar todos los servicios de Azure.Click OFF on this page to disable for all Azure services.

Conexión a la base de datosConnect to the database

Use SQL Server Management Studio para establecer una conexión con la base de datos única.Use SQL Server Management Studio to establish a connection to your single database.

  1. Abra SQL Server Management Studio.Open SQL Server Management Studio.

  2. En el cuadro de diálogo Conectar con el servidor, especifique la siguiente información:In the Connect to Server dialog box, enter the following information:

    ConfiguraciónSetting       Valor sugeridoSuggested value DESCRIPCIÓNDescription
    Tipo de servidorServer type Motor de base de datosDatabase engine Este valor es necesario.This value is required.
    Nombre del servidorServer name Nombre completo del servidorThe fully qualified server name Por ejemplo, yourserver.database.windows.net.For example, yourserver.database.windows.net.
    AutenticaciónAuthentication Autenticación de SQL ServerSQL Server Authentication Autenticación de SQL es el único tipo de autenticación que hemos configurado en este tutorial.SQL Authentication is the only authentication type that we've configured in this tutorial.
    Inicio de sesiónLogin La cuenta de administrador del servidorThe server admin account Es la cuenta que especificó cuando creó el servidor.The account that you specified when you created the server.
    ContraseñaPassword La contraseña de la cuenta de administrador del servidorThe password for your server admin account Es la contraseña que especificó cuando creó el servidor.The password that you specified when you created the server.

    conectar con el servidor

  3. Haga clic en Opciones en el cuadro de diálogo Conectar con el servidor.Click Options in the Connect to server dialog box. En la sección Conectar con base de datos, escriba yourDatabase para conectarse a esta base de datos.In the Connect to database section, enter yourDatabase to connect to this database.

    conectar a base de datos en el servidor

  4. Haga clic en Conectar.Click Connect. Se abre la ventana del Explorador de objetos en SSMS.The Object Explorer window opens in SSMS.

  5. En el Explorador de objetos, expanda Bases de datos y, después, expanda yourDatabase para ver los objetos de la base de datos de ejemplo.In Object Explorer, expand Databases and then expand yourDatabase to view the objects in the sample database.

    Objetos de base de datos

Creación de tablas en la base de datosCreate tables in your database

Cree un esquema de base de datos con cuatro tablas que modelan un sistema de administración de estudiantes para universidades con Transact-SQL:Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • PersonaPerson
  • CursoCourse
  • EstudianteStudent
  • CréditosCredit

En el diagrama siguiente se muestra cómo estas tablas se relacionan entre sí.The following diagram shows how these tables are related to each other. Algunas de estas tablas hacen referencia a columnas de otras tablas.Some of these tables reference columns in other tables. Por ejemplo, la tabla Student hace referencia a la columna PersonId de la tabla Person.For example, the Student table references the PersonId column of the Person table. Estudie el diagrama para entender cómo se relacionan las tablas de este tutorial entre sí.Study the diagram to understand how the tables in this tutorial are related to one another. Para obtener información detallada sobre cómo crear tablas de base de datos eficaces, vea Creación de tablas de base de datos eficaces.For an in-depth look at how to create effective database tables, see Create effective database tables. Para obtener información sobre cómo elegir tipos de datos, vea Data types (Tipos de datos).For information about choosing data types, see Data types.

Nota

También puede usar el Diseñador de tablas de SQL Server Management Studio para crear y diseñar las tablas.You can also use the table designer in SQL Server Management Studio to create and design your tables.

Relaciones de tablas

  1. En el Explorador de objetos, haga clic con el botón derecho en yourDatabase y seleccione Nueva consulta.In Object Explorer, right-click yourDatabase and select New Query. Se abre una ventana de consulta en blanco que está conectada a la base de datos.A blank query window opens that is connected to your database.

  2. En la ventana de consulta, ejecute la consulta siguiente para crear cuatro tablas en la base de datos: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
        )
    )
    

    Cree las tablas.

  3. Expanda el nodo Tablas en yourDatabase en el Explorador de objetos de SQL Server Management Studio para ver las tablas que ha creado.Expand the Tables node under yourDatabase in the Object Explorer to see the tables you created.

    crear tablas en SSMS

Carga de datos en las tablasLoad data into the tables

  1. Cree una carpeta denominada sampleData en la carpeta Descargas para almacenar datos de ejemplo para la base de datos.Create a folder called sampleData in your Downloads folder to store sample data for your database.

  2. Haga clic con el botón derecho en los vínculos siguientes y guárdelos en la carpeta sampleData.Right-click the following links and save them into the sampleData folder.

  3. Abra una ventana del símbolo del sistema y navegue hasta la carpeta sampleData.Open a command prompt window and navigate to the sampleData folder.

  4. Ejecute los comandos siguientes para insertar datos de ejemplo en las tablas y reemplace los valores de server, database, user y password por los valores correspondientes al entorno.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 ","
    

De esta forma, ya ha cargado los datos de ejemplo en las tablas que ha creado anteriormente.You have now loaded sample data into the tables you created earlier.

Datos de consultaQuery data

Ejecute las siguientes consultas para recuperar información de las tablas de base de datos.Execute the following queries to retrieve information from the database tables. Vea Writing SQL Queries (Escribir consultas SQL) para más información sobre cómo escribir consultas SQL.See Write SQL queries to learn more about writing SQL queries. La primera consulta combina las cuatro tablas para buscar los alumnos del profesor "Dominick Pope" que tienen una calificación superior al 75 %.The first query joins all four tables to find the students taught by 'Dominick Pope' who have a grade higher than 75%. La segunda consulta combina las cuatro tablas y busca los cursos en los que nunca se ha matriculado "Noe Coleman".The second query joins all four tables and finds the courses in which 'Noe Coleman' has ever enrolled.

  1. En una ventana de consulta de SQL Server Management Studio, ejecute la siguiente consulta: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. Ejecute la siguiente consulta en una ventana de consulta: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'
    

Pasos siguientesNext steps

En este tutorial, ha aprendido muchas tareas de base de datos básicas.In this tutorial, you learned many basic database tasks. Ha aprendido a:You learned how to:

  • Creación de una base de datos únicaCreate a single database
  • Configuración de una regla de firewall por IP de nivel de servidorSet up a server-level IP firewall rule
  • Conectarse a la base de datos con SQL Server Management Studio (SSMS)Connect to the database with SQL Server Management Studio (SSMS)
  • Cree las tablas.Create tables
  • Realizar cargas masivas de datosBulk load data
  • Consultar los datosQuery that data

Avance hasta el próximo tutorial para obtener información sobre cómo diseñar una base de datos mediante Visual Studio y C#.Advance to the next tutorial to learn about designing a database using Visual Studio and C#.