sql >> Base de Datos >  >> RDS >> Sqlserver

Conceptos de diseño de bases de datos con SQL Server Management Studio (SSMS) Parte 1

Este artículo está escrito principalmente para principiantes. Aún así, cubre algunos conceptos de diseño de bases de datos interesantes y a menudo olvidados que son igualmente atractivos para los profesionales de bases de datos SQL.

La parte actual se centra en los conceptos de diseño de la base de datos y su asignación a las tablas, columnas y relaciones de la base de datos SQL. Si comprende los antecedentes de las bases de datos y las herramientas que estamos a punto de usar, diseñará su primera base de datos SQL con confianza.

Requisitos previos

Antes de continuar, asegúrese de tener lo siguiente:

  1. SQL Server 2016/2017/2019 Express/Developer edition está instalado en su máquina
  2. SSMS (SQL Server Management Studio) está instalado

Además, debe tener un conocimiento básico de las bases de datos y las herramientas anteriores.

No es un problema si no tiene las últimas versiones de SQL Server y SSMS. Sin embargo, es muy recomendable tener disponibles las versiones más nuevas, si no las más recientes. Puede obtener las versiones necesarias de los siguientes recursos:

  • Descargue la edición para desarrolladores de SQL Server 2017.
  • Descargue SQL Server 2019 (alternativamente, para obtener la última edición de SQL Server Express/Developer).
  • O bien, descargue una edición especializada gratuita de Developer o Express SQL Server.
  • Descargar SSMS (SQL Server Management Studio)

Tenga en cuenta que todos estos enlaces funcionan bien al momento de escribir este artículo. Si Microsoft decide reemplazarlos, descargue la versión más nueva disponible en ese momento.

Acerca del diseño de bases de datos SQL

Para comenzar a diseñar su base de datos SQL con SQL Server Management Studio (SSMS), debe tener algún plan de diseño en mente.

No es fácil sin conocer los conceptos básicos del diseño de bases de datos. Sin embargo, una vez que obtiene estos conceptos y su implementación, naturalmente comienza a seguir los principios de diseño. Es común con casi todos los desarrolladores de bases de datos.

Repasemos primero algunos conceptos básicos de diseño de bases de datos. No es fácil cubrirlos todos en un artículo, pero necesitamos algo para empezar.

Entendemos una base de datos típica en términos de lo siguiente:

  1. Entidades
  2. Atributos
  3. Relaciones

¿Qué es una Entidad?

Una entidad es cualquier cosa que la empresa o un individuo quisiera almacenar en una base de datos. Por ejemplo:

  1. Cliente.
  2. Ordenar.
  3. Producto.

Podemos decir que un Cliente es una entidad si la empresa desea almacenarla en una estructura de base de datos con fines transaccionales, de análisis y generación de informes. Del mismo modo, un Pedido colocado por el Cliente también es una entidad si la empresa quiere ver esa información. Por lo tanto, esta información debe ser parte de la base de datos.

Sin embargo, un Pedido no tiene mucho sentido sin un Producto . Un Producto ofrecido al Cliente también es una entidad.

¿Cómo se asigna la entidad a la base de datos?

Desde la perspectiva de la base de datos, una entidad se puede asignar a una tabla. Por lo tanto, si una empresa necesita las entidades Cliente, Pedido y Producto, el desarrollador de la base de datos puede asignarlas como tres tablas.

¿Qué es un atributo?

Un atributo es una descripción de una entidad. Por ejemplo:

  1. Nombre del cliente
  2. Tipo de pedido
  3. Nombre del producto

Si el Cliente es una entidad, el nombre del cliente (CustomerName ) es un atributo. Este atributo describe nuestra entidad (Cliente ). Del mismo modo, OrderType es un atributo del Orden entidad y ProductName es un atributo del Producto entidad.

¿Cómo se asigna el atributo a la base de datos?

Un atributo, como CustomerName, describe al cliente tabla y se puede asignar a una columna en esa tabla.

Una entidad con múltiples atributos

Está bien que una entidad tenga múltiples atributos. Por lo tanto, podemos tener muchas columnas (atributos) en una tabla (entidad).

Relaciones de entidades

Una entidad puede estar relacionada con otra entidad a través de relaciones. Una tabla puede estar relacionada con otra tabla. Hay muchos tipos de entidades o relaciones tabulares:

Relación cliente-pedido (uno a muchos)

Un Cliente (entidad/tabla) puede estar relacionado con un Pedido (entidad/tabla) por las siguientes razones:

  1. Un cliente puede realizar un pedido.
  2. Un cliente puede realizar muchos pedidos.

Lo contrario también es cierto:

  1. Un cliente puede realizar muchos pedidos.
  2. Un pedido puede ser realizado por un cliente.

Este es un ejemplo de una relación de uno a muchos :un cliente puede realizar muchos pedidos y un mismo cliente puede realizar muchos pedidos.

Relación producto-pedido (uno a muchos)

Un Producto (entidad/tabla) se puede relacionar con un Pedido (entidad/tabla) de la siguiente manera:

  1. Se puede asignar un producto a un pedido.
  2. Un producto se puede asignar a muchos pedidos.

Del mismo modo:

  1. Se pueden asignar muchos pedidos a un producto.
  2. Un pedido puede tener un producto.

Existe una relación de uno a muchos entre Producto y Orden .

Relación cliente-producto (muchos a muchos)

Ahora la relación entre cliente y producto se explica de la siguiente manera:

  1. Un cliente puede comprar un producto.
  2. Un cliente puede comprar más de un producto.
  3. Un cliente puede comprar un producto.
  4. Un producto puede ser comprado por más de un cliente.

Muchos productos pueden ser comprados por muchos clientes, lo que significa que el Cliente y Producto la relación es muchos a muchos .

Eche un vistazo a la siguiente ilustración:

Escenario de diseño de estudiante-instructor

Consideremos un escenario de diseño de base de datos diferente. Lo implementará usando SSMS (SQL Server Management Studio) en la otra parte de este artículo.

Requisitos comerciales

Suponga que necesita diseñar una base de datos que almacene la siguiente información:

  1. Estudiante(s).
  2. Instructor(es).
  3. Estudiantes a los que se les ha asignado un instructor.
  4. Instructores asignados a los estudiantes.

Análisis preliminar

Al observar de cerca, descubrirá algo bastante interesante sobre los requisitos anteriores. “Los estudiantes que tienen asignado un instructor” y “Los instructores que han sido asignados a los estudiantes” son el mismo requisito.

Puede ser frecuente que dos requisitos que parecen diferentes resulten ser los mismos en el contexto del diseño de la base de datos.

Identificar entidades

Las siguientes entidades se pueden extraer directamente de los requisitos:

  1. Estudiante
  2. Instructor

Sin embargo, una entidad más sirve para brindarnos información sobre los instructores asignados a los alumnos.

Recordemos el primer ejemplo en el que usamos una tabla de pedidos:muchos clientes pueden comprar muchos pedidos en la relación Cliente-Pedido. Es similar a nuestro estudiante-instructor relación tabular:se pueden asignar muchos instructores a muchos estudiantes.

Identificar atributos

Podemos elegir atributos útiles para las entidades identificadas, de acuerdo con el escenario de pedido del cliente:

  1. Estudiante:Identificación del estudiante, Nombre.
  2. Instructor:ID del instructor, nombre.
  3. Estudiante-Instructor:Id. de estudiante-instructor, Id. de estudiante, Id. de instructor.

Relaciones de identidad:

Identifique las relaciones de las entidades:

  1. Estudiante -> Estudiante-Instructor (uno a muchos).
  2. Instructor-> Estudiante-Instructor (uno a muchos).
  3. Estudiante -> Instructor (muchos a muchos).

Recuerde que siempre usamos una tabla intermedia para resolver la relación de muchos a muchos. Es por eso que incorporamos la entidad Estudiante-Instructor al plan.

Mapeo de Entidades y Atributos a tablas y columnas

Ahora podemos mapear las entidades a las tablas. Por lo tanto, vamos a crear las siguientes tres tablas:

  1. Estudiante.
  2. Instructor.
  3. Estudiante-Instructor.

De manera similar, los atributos de esas entidades, cuando se asignan a las columnas, serán los siguientes:

  1. Estudiante:StudentId, Nombre.
  2. Instructor:InstructorId, Nombre.
  3. Estudiante-Instructor:StudentInstructorId, StudentId, InstructorId.

Tenga en cuenta la siguiente ilustración:

¡Felicidades! Ha aprendido con éxito los conceptos de diseño de bases de datos. Estamos familiarizados con entidades, atributos y relaciones y los pasos para asignarlos a tablas y columnas en la base de datos.

Los siguientes artículos lo guiarán a través de los pasos de diseño de la base de datos usando SSMS (SQL Server Management Studio).

Cosas que hacer

Ahora que comprende los conceptos básicos del diseño de bases de datos, intente lo siguiente para mejorar aún más sus habilidades:

  1. Intente agregar otra entidad llamada Proveedor con los atributos IdProveedor y NombreProveedor. Comprueba si puedes identificar correctamente las siguientes relaciones:
    1. Pedido de proveedor;
    2. Proveedor-Cliente;
    3. Proveedor-Producto.
  2. Diseñe una base de datos junto con la identificación de entidades, atributos y relaciones para una biblioteca. Sugerencia:los libros se entregan a los miembros y los miembros toman prestados libros de la biblioteca. Miembro, Libro, Emitido pueden ser entidades.
  3. Identifique el tipo de las siguientes relaciones tabulares para las entidades mencionadas anteriormente:
    1. Emitido por miembros;
    2. Libro publicado;
    3. Libro de miembros;
    4. Libro-Miembro.

Lea también

Aprenda a diseñar bases de datos con SQL Server Management Studio (SSMS) - Parte 2