29 enero, 2020

Creación de Tablas

DEFINICIÓN DE UNA TABLA

Una tabla es una colección de datos sobre una entidad (Persona, Lugar, Cosa) específica, que tiene un número discreto de atributos designados (por ejemplo, cantidad o tipo). Las tablas son los objetos principales de SQL Server y del modelo relacional en general.

En SQL Server una tabla suele denominarse tabla de base, para hacer énfasis sobre dónde se almacenan los datos. La utilización de << Tabla de base >>, también distingue la tabla de una vista (View), (una tabla virtual que es una consulta interna de una tabla base.).

Conforme se utiliza la base de datos con frecuencia se encontrará conveniente definir tablas propias para almacenar datos personales o datos extraídos de otras tablas.



CLAVE PRIMARIA Y CLAVE FORÁNEA

El principio fundamental del modelo relacional, es que cada fila de una tabla es en cierta medida exclusiva y puede distinguirse de alguna forma de cualquier otra fila de la tabla. La combinación de todas las columnas de una tabla puede utilizarse como un identificador exclusivo, pero en la práctica el identificador suele ser mucho como la combinación de unas pocas columnas y, a menudo, es simplemente una columna, a la cual se le denomina Primary Key o Clave Primaria


CLAVE PRIMARIA Y CLAVE FORÁNEA

Una Clave Foránea o Foreign Key es una o varias columnas de una tabla cuyos valores deben ser iguales a los de una restricción Primary Key en otra tabla. SQL Server impone de manera automática la integridad referencial mediante la utilización de Foreign Key y a esta característica se le denomina integridad referencial declarativa.


DEFINICIÓN DE RELACIONES

El término "relaciones" usualmente se refiere a las relaciones entre claves foráneas y primarias, y entre tablas. Estas relaciones deben ser definidas porque determinan qué columnas son o no claves primarias o claves foráneas. A continuación, veamos los tipos de relación que pueden existir entre las tablas:

Relación Uno-a-Varios:

La relación uno a varios (uno a muchos), es el tipo de relación más común. En este tipo de relación, una fila de la tabla A puede tener varias filas coincidentes en la tabla B, pero una fila de la tabla B sólo puede tener una fila coincidente en la tabla A. Por ejemplo, las tablas Editor y Libro tienen una relación uno a varios: cada editor produce muchos títulos, pero cada Libro procede de un único editor. Una relación de uno a varios sólo se crea si una de las columnas relacionadas es una clave principal o tiene una restricción única (una restricción única impide que el campo tenga valores repetidos). El lado de la clave principal de una relación de uno a varios se indica con un símbolo de llave, mientras que el lado de la clave externa de una relación se indica con un símbolo de infinito.

En el ejemplo tenemos:

Un estado lo es de muchos usuarios pero un usuario tiene únicamente un estado.


A continuación, se muestra la relación uno a muchos en una relación recursiva.

Un contrato puede ser la extensión de otro contrato y un contrato puede tener muchas extensiones.


Un empleado puede ser supervisado por otro empleado y un empleado puede supervisar a muchos empleados.


Relaciones de varios a varios

En las relaciones de varios a varios (muchos a muchos), una fila de la tabla A puede tener varias filas coincidentes en la tabla B, y viceversa. Para crear una relación de este tipo, defina una tercera tabla, denominada tabla de unión, cuya clave principal está formada por las claves externas de las tablas A y B. 

  • Por ejemplo, la tabla Boleta y la tabla Producto tienen una relación de varios a varios definida por una relación de uno a varios entre cada una de estas tablas y la tabla DETALLEBOLETA. La clave principal de la tabla DETALLEBOLETA es la combinación de la columna COD_BOL (la clave principal de la tabla BOLETA) y la columna COD_PROD (la clave principal de la tabla PRODUCTO).


  • Otro ejemplo: Un contrato puede registrar muchos departamentos y un departamento puede estar registrado en muchos contratos. Para poder implementar esta relación compleja debemos adicionar una tabla de detalle (DETALLECONTRATO).


Relaciones de uno a uno

En una relación de uno a uno, una fila de la tabla A no puede tener más de una fila coincidente en la tabla B y viceversa. Una relación de uno a uno se crea si las dos columnas relacionadas son claves principales o tienen restricciones únicas. Este tipo de relación no es común porque la mayor parte de la información relacionada de esta manera estaría en una tabla. 

Se puede utilizar una relación de uno a uno para:

Dividir una tabla con muchas columnas
  • Aislar parte de una tabla por razones de seguridad
  • Almacenar datos que no se deseen conservar y se puedan eliminar fácilmente con tan sólo suprimir la tabla
  • Almacenar información aplicable únicamente a un subconjunto de la tabla principal.
  • Implementar entidades del tipo Generalización con sus especializaciones.

El lado de la clave principal de una relación de uno a uno se indica con un símbolo de llave. El lado de la clave externa también se indica con un símbolo de llave.
  • El ejemplo, a continuación, muestra a la tabla USUARIO (generalización) relacionándose con la tabla PROPIETARIO (especialización 1) y la tabla INQUILINO (especialización 2), de uno a uno.


Ahora que ya conoce el concepto de tablas y el concepto de relaciones, empezará a implementar algunas tablas para distintos casos.

¡EMPECEMOS!


CASO 1: DEPARTAMENTOS

Se desea implementar una base de datos para el control de contratos de departamentos entre diferentes edificios. Para ello, se cuenta con el siguiente diagrama:


Usando TRANSACT/SQL, cree las siguiente base de datos:

  1. Cree la base de datos Departamentos
  2. Active la base de datos Departamentos
  3. Cree las tablas mostradas
  4. Agregue las llaves Primarias (ADD PRIMARY KEY)
  5. Agregue las llaves Foráneas y Relaciones (ADD FOREIGN KEY – REFERENCES)
Solución



SI NO TIENES EL SQL SERVER INSTALADO, PUEDES EJECUTAR EL QUERY INGRESANDO AL SIGUIENTE ENLACE PARA QUE PUEDAS PRACTICAR SIN LA NECESIDAD DE TENER INSTALADO ALGUNA VERSIÓN DEL SQL SERVER EN TU PC.

RexTexter: https://rextester.com/ZBTXF99415


CASO 2: VENTAS

Se ha diseñado una base de datos para el control de las ventas realizadas en una empresa, como se detalla en el siguiente diagrama.



Cree la base de datos Ventas indicando propiedades para el archivo primario, un archivo secundario y un archivo de registro. Identifique los tipos de datos que le corresponde a los campos de las tablas.

Solución



SI NO TIENES EL SQL SERVER INSTALADO, PUEDES EJECUTAR EL QUERY INGRESANDO AL SIGUIENTE ENLACE PARA QUE PUEDAS PRACTICAR SIN LA NECESIDAD DE TENER INSTALADO ALGUNA VERSIÓN DEL SQL SERVER EN TU PC.

RexTexter: https://rextester.com/YDI16825



CASO 3: COMIDAS

Cree la base de datos comidas e implemente las siguientes tablas: cliente, vendedor, comida, factura y detalle factura.

Solución



SI NO TIENEN EL SQL SERVER INSTALADO, PUEDEN EJECUTAR EL QUERY INGRESANDO AL SIGUIENTE ENLACE PARA QUE PUEDAN PRACTICAR SIN LA NECESIDAD DE TENER INSTALADO ALGUNA VERSIÓN DEL SQL SERVER EN SU PC.

RexTexter: https://rextester.com/RPM19764


Actualizamos las base de datos y podemos ver que aparece la base de datos con las tablas que acabamos de crear.


Para crear el diagrama de base de datos debemos hacer clic derecho en la carpeta Diagrama de base de datos.


¡Acabas de ver el tema Creación de tablas del mini curso de Base de Datos en SQL Server! ¡Fácil verdad! Ir al índice

Asimismo, si quieres comprar la guía completa con todos los temas, ejercicios, evaluaciones, proyectos, aplicaciones, banco de datos y más; puedes ingresar al siguiente enlace. Y si eres seguidor accedes a un descuento del -%50.

¡Quiero esto!

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!