Creación de una base de datos y adición de tablas en aplicaciones de .NET Framework mediante Visual Studio
Nota:
Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas aplicaciones de .NET usen Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.
Puede usar Visual Studio para crear y actualizar un archivo de base de datos local en SQL Server Express LocalDB. También puede crear una base de datos ejecutando instrucciones Transact-SQL en la ventana de herramientas del Explorador de objetos de SQL Server de Visual Studio. En este tema, creará un archivo .mdf
y agregará tablas y claves mediante el Diseñador de tablas.
Requisitos previos
Para completar este tutorial, necesita las cargas de trabajo de desarrollo de escritorio de .NET y de almacenamiento y procesamiento de datos instaladas en Visual Studio. Para instalarlas, abra el Instalador de Visual Studio y elija Modificar (o Más>modificar) junto a la versión de Visual Studio que desea modificar. Vea Modificación de Visual Studio.
Nota:
Los procedimientos de este artículo solo se aplican a proyectos de Windows Forms de .NET Framework, no a proyectos de Windows Forms de .NET Core.
Crear un proyecto y un archivo de base de datos local
Cree un nuevo proyecto de aplicación de Windows Forms (.NET Framework) y asígnele el nombre SampleDatabaseWalkthrough.
En la barra de menús, seleccione Proyecto>Agregar nuevo elemento. Si ve un cuadro de diálogo pequeño con un cuadro para un nombre de archivo, elija Mostrar todas las plantillas.
En la lista de plantillas de elementos, desplácese hacia abajo y seleccione Base de datos basada en servicio.
Asigne un nombre a la base de datos SampleDatabase.mdf y, a continuación, seleccione Agregar.
Agregar un origen de datos
Si la ventana Orígenes de datos no está abierta, ábrala presionando Mayús+Alt+D o seleccionando Ver>Otras ventanas>Orígenes de datos en la barra de menús.
En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos.
Se abrirá el Asistente para configuración de orígenes de datos.
En la página Elegir un tipo de origen de datos, seleccione Base de datos y, a continuación, elija Siguiente.
En la página Elegir un modelo de base de datos, elija Siguiente para aceptar el valor predeterminado (Conjunto de datos).
En la página Elegir la conexión de datos, seleccione el archivo SampleDatabase.mdf en la lista desplegable y, a continuación, elija Siguiente.
En la página Guardar cadena de conexión en el archivo de configuración de la aplicación, elija Siguiente.
En la página Elegir los objetos de base de datos, verá un mensaje que indica que la base de datos no contiene ningún objeto. Elija Finalizar.
Precaución
En una aplicación real, debe almacenar la cadena de conexión de forma segura, como se describe en el artículo Cadenas de conexión y archivos de configuración. Para una mayor seguridad, use un método de autenticación que no dependa del almacenamiento de una contraseña en la cadena de conexión, como Autenticación de Windows para una base de datos de SQL Server local. Consulte Guardado y edición de cadenas de conexión.
Visualización de las propiedades de la conexión de datos
Puede ver algunas de las propiedades del archivo SampleDatabase.mdf abriendo la ventana Propiedades de la conexión de datos:
Seleccione Ver>Explorador de objetos de SQL Server (o Ctrl+\, Ctrl+S) para abrir la ventana Explorador de objetos de SQL Server. Expanda (localdb)\MSSQLLocalDB>Bases de datos y, a continuación, haga clic con el botón derecho en SampleDatabase.mdf (podría aparecer como una ruta de acceso completa) y seleccione Propiedades.
Como alternativa, puede seleccionar Ver>Explorador de servidores, si esa ventana aún no está abierta. Abra la ventana Propiedades expandiendo el nodo Conexiones de datos, haciendo clic con el botón derecho en SampleDatabase.mdf y, después, seleccionando Propiedades.
Sugerencia
Si no puede expandir el nodo Conexiones de datos o no aparece la conexión SampleDatabase.mdf, seleccione el botón Conectar a la base de datos en la barra de herramientas del Explorador de servidores. En el cuadro de diálogo Agregar conexión, asegúrese de que el Archivo de base de datos de Microsoft SQL Server esté seleccionado en Origen de datos y, a continuación, busque y seleccione el archivo SampleDatabase.mdf. Para terminar de agregar la conexión, seleccione Aceptar.
Para ver la cadena de conexión, puede abrir el archivo App.config en el Explorador de soluciones. Debería ver una entrada en el elemento connectionStrings
similar al código siguiente:
<connectionStrings>
<add name="SampleDatabaseWalkthrough.Properties.Settings.SampleDatabaseConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SampleDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Creación de tablas y claves mediante el Diseñador de tablas
En esta sección, creará un par de tablas, una clave principal en cada tabla y algunas filas de datos de ejemplo. También creará una clave externa para especificar cuántos registros de una tabla pueden corresponder a registros de la otra tabla.
Creación de la tabla Customers
En el Explorador de servidores o Explorador de objetos de SQL Server, expanda el nodo Conexiones de datos y, a continuación, expanda el nodo SampleDatabase.mdf.
Haga clic con el botón derecho en Tablas y seleccione Agregar nueva tabla.
El Diseñador de tablas se abre y muestra una cuadrícula con una fila predeterminada que representa una columna única de la tabla que está creando. Al agregar filas a la cuadrícula, agregará columnas en la tabla.
En la cuadrícula, agregue una fila para cada una de las entradas siguientes:
Nombre de la columna Tipo de datos Permitir valores NULL CustomerID
nchar(5)
False (desactivada) CompanyName
nvarchar(50)
False (desactivada) ContactName
nvarchar (50)
True (seleccionada) Phone
nvarchar (24)
True (seleccionada) Haga clic con el botón derecho en
CustomerID
y seleccione Establecer clave principal.Haga clic con el botón derecho en la fila predeterminada (
Id
) y seleccione Eliminar.Asigne un nombre a la tabla Customers actualizando la primera línea del panel de script para que coincida con el ejemplo siguiente:
CREATE TABLE [dbo].[Customers]
Agregue una restricción de índice a la tabla Customers. Agregue una coma al final de la línea
Phone
y agregue el ejemplo siguiente antes del paréntesis de cierre:CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
Deberíamos ver algo parecido a lo siguiente:
En la esquina superior izquierda del Diseñador de tablas, seleccione Actualizar o presione Mayús+Alt+U.
En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base de datos.
La tabla Customers se crea en el archivo de base de datos local.
Creación de la tabla Orders
Agregue otra tabla y, después, agregue una fila para cada entrada de la tabla siguiente:
Nombre de la columna Tipo de datos Permitir valores NULL OrderID
int
False (desactivada) CustomerID
nchar(5)
False (desactivada) OrderDate
datetime
True (seleccionada) OrderQuantity
int
True (seleccionada) Establezca OrderID como la clave principal y después elimine la fila predeterminada.
Asigne un nombre a la tabla Orders actualizando la primera línea del panel de script para que coincida con el ejemplo siguiente:
CREATE TABLE [dbo].[Orders]
Agregue una restricción de índice a la tabla Customers. Agregue una coma al final de la línea
OrderQuantity
y agregue el ejemplo siguiente antes del paréntesis de cierre:CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
En la esquina superior izquierda del Diseñador de tablas, seleccione Actualizar o presione Mayús+Alt+U.
En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base de datos.
La tabla Orders se crea en el archivo de base de datos local. Si expande el nodo Tablas en el Explorador de servidores, verá las dos tablas:
Si no lo ve, pulse el botón Actualizar de la barra de herramientas.
Creación de una clave externa
En el panel contextual del lado derecho de la cuadrícula Diseñador de tablas de la tabla Pedidos, haga clic con el botón derecho en Claves externas y seleccione Agregar nueva clave externa.
En el cuadro de texto que aparece, reemplace ToTable por Customers.
En el panel de T-SQL, actualice la última línea para que coincida con el ejemplo siguiente:
CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
En la esquina superior izquierda del Diseñador de tablas, seleccione Actualizar (Mayús+Alt+U).
En el cuadro de diálogo Vista previa de actualizaciones de base de datos, seleccione Actualizar base de datos.
Se crea la clave externa.
Rellenado de las tablas con datos
En el Explorador de servidores o el Explorador de objetos de SQL Server, expanda el nodo de la base de datos de ejemplo.
Abra el menú contextual del nodo Tablas, seleccione Actualizar y, después, expanda el nodo Tablas.
Abra el menú contextual para la tabla Customers y, a continuación, elija Mostrar datos de tabla o Ver datos.
Agregue los datos que desee de al menos tres clientes.
Puede especificar los cinco caracteres que desee como identificadores de cliente, pero elija al menos uno que pueda recordar para usarlo posteriormente en este procedimiento.
Abra el menú contextual para la tabla Orders y, a continuación, elija Mostrar datos de tabla o Ver datos.
Agregue datos para algunos pedidos. Al escribir cada fila, se guarda en la base de datos.
Importante
Asegúrese de que todos los identificadores y cantidades de pedidos sean números enteros y que cada identificador de cliente coincida con el valor que especificó en la columna CustomerID de la tabla Clientes.
¡Enhorabuena! Ahora sabe cómo crear tablas, vincularlas con una clave externa y agregar datos.