0% encontró este documento útil (0 votos)
20 vistas19 páginas

Formacion BD SQL

Una base de datos relacional es una estructura que almacena datos relacionados en tablas compuestas por filas y columnas. Cada registro debe ser único, identificándose por una clave primaria, mientras que las relaciones entre tablas se establecen mediante claves foráneas. La normalización es un proceso que organiza la base de datos para eliminar redundancias y mejorar la integridad de los datos a través de varias formas normales.

Cargado por

janosolerdiaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas19 páginas

Formacion BD SQL

Una base de datos relacional es una estructura que almacena datos relacionados en tablas compuestas por filas y columnas. Cada registro debe ser único, identificándose por una clave primaria, mientras que las relaciones entre tablas se establecen mediante claves foráneas. La normalización es un proceso que organiza la base de datos para eliminar redundancias y mejorar la integridad de los datos a través de varias formas normales.

Cargado por

janosolerdiaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Bases de datos relacionales

¿Qué es una base de datos relacional?

Es una estructura que almacena y proporciona acceso a datos que pueden estar relacionados
entre sí. Esta debe tener la posibilidad, con los permisos adecuados, de poder modificar su propia
configuración o modificar los datos almacenados, ya sea para actualizar o eliminar elementos.
Elementos BD: Tablas

Representa a un tipo de entidad dentro del modelo de datos. Su forma funcional consiste en una
serie de columnas, que representan los campos (atributos) de cada dato almacenado, y filas, cada
una de ellas representando un dato único, conocido generalmente como registro.
Elementos BD: Campos (columnas)

Cada uno representa una de las características de los registros de las que se quiere mantener
información en el modelo de datos. Deben estar definido con un tipo de dato, para limitar el
carácter de la información (texto, números enteros, números decimales, archivos...) que pueda
guardarse.
Elementos BD: Registros (filas)

Almacenará los datos de una ocurrencia única de la entidad a la que representa la tabla. Por
ejemplo, dentro de una tabla llamada Cliente, cada uno de los registros representará a un cliente
único.
Primary Key (Clave primaria)
Uno de los principios que se aplican siempre en las bases de datos relacionales es que cada uno de los registros debe ser
único, es decir, no pueden existir dos registros que tengan todos sus campos exactamente iguales en una misma tabla.

Para conseguirlo, deberá existir un campo (o una combinación de campos) que tenga un valor único para cada registro. Ese
campo (o campos) es lo que configura la clave primaria y debe cumplir:

• Una clave principal no puede ser nula


• Un valor de clave principal debe ser único
• Los valores de clave primaria no se pueden cambiar
Tipos de datos
Cuando creamos una tabla, tenemos que asignar un tipo de dato a cada campo de la misma. Esto
permite limitar la forma de la información que se admitirá en cada campo de la tabla y, por tanto,
mejorar la integridad de los datos.

Además de los tipos de datos que existen, como puedan ser texto, numérico, fecha o booleano,
entre otros, también asignamos un tamaño máximo para el dato almacenado, por ejemplo,
varchar(30), varchar(50), bigint, tinyint, etc. Esto mejora el rendimiento de la BD y el espacio
ocupado en disco.

Aquí puedes consultar todos los tipos de datos disponibles para varios motores:
https://www.w3schools.com/sql/sql_datatypes.asp
Elementos BD: Relaciones

Normalmente, cada una de las tablas que representan a un modelo de datos en su


totalidad, estarán relacionadas con una o varias tablas pertenecientes al mismo modelo. Es
posible que una tabla esté aislada y albergue datos totalmente independientes dentro del modelo,
pero es poco común. Hay 3 tipos de relaciones:

- Relación 1 a 1

- Relación 1 a muchos (1 a N)

- Relación muchos a muchos (N a N)


Elementos BD: Relaciones -> 1 a 1

Relaciona un único registro de la tabla principal con uno sólo de la tabla relacionada.
Este tipo de relación produce el mismo resultado que si se unieran los campos de ambas tablas en
una sola tabla, por lo que normalmente se considera un fallo de diseño utilizarlas.
Elementos BD: Relaciones-> 1 a N (uno a muchos)

Es el tipo de relación más frecuente. Un único registro de cierta tabla se puede relacionar con
varios de otra. Por ejemplo, un cliente tiene varias direcciones de envío.
Elementos BD: Relaciones -> N a N (muchos a muchos)
Un registro de la tabla principal se relaciona con varios de la tabla relacionada y, además, un registro
de la tabla relacionada se relaciona con varios de la tabla principal.
Por ejemplo, un estudiante está matriculado de varias asignaturas y en una asignatura están
matriculados varios estudiantes.
Foreign Key (Clave foránea)
Para poder relacionar dos tablas necesitamos enlazar la información de los registros relacionados. Para ello necesitaremos
guardar en una de las tablas la clave primaria de la otra tabla, así sabremos con qué registros de una tabla se relacionan los
datos almacenados en otra.

• Una clave foránea puede tener un nombre de campo diferente del de la clave primaria que referencian.
• A diferencia de la clave principal, no tiene que ser única. La mayoría de las veces no lo son.
• Las claves foráneas pueden ser nulas.

id name surname company cif phone


id street number postal_code id_client
1 Jose González Tupla, SL 19014512A 653321514
1 San Francisco 60 12002 2
2 María García Registros, SA 20125214Y 632154785 2 Valencia 86 12005 2
3 Ana Fernández Tupla, SL 19655474D 698547882 3 Mayor 2 12001 4
4 Eva Ayala SOLDIAL, SA 19874558E 674111213
Normalización
La normalización es un proceso de estructuración de una BD, con el fin de eliminar la información
redundante y mejorar la integridad de los datos.

El proceso de normalización lo haremos a través de varias fases, que se conocen como formas
normales. Para entenderlo bien, partiremos de la siguiente tabla de ejemplo:

nam e​ subjects​ gender​ departments​ cam pus


Jose González Estadística, Contabilidad, TALF​ H​ Matemáticas, Economía, LSI​ Ciencias1, Juridicas, Ciencias2
María García Gráficos y multimedia, TALF​ M​ LSI, LSI​ Ciencias2, Ciencias​2
Ana Fernández Estructura de datos 2, Estadística​ M​ LSI, Matemáticas​ Ciencias2, CIencias​1
Eva Ayala Arquitectura del SW 1​ M​ LSI​ Ciencias2
Primera Forma Normal: 1FN
• Cada campo de tabla debe contener un solo valor.
• Cada registro debe ser único.

nam e​ subjects​ gender​ departments​ cam pus


Jose González Estadística, Contabilidad, TALF​ H​ Matemáticas, Economía, LSI​ Ciencias1, Juridicas, Ciencias2
María García Gráficos y multimedia, TALF​ M​ LSI, LSI​ Ciencias2, Ciencias​2
Ana Fernández Estructura de datos 2, Estadística​ M​ LSI, Matemáticas​ Ciencias2, CIencias​1
Eva Ayala Arquitectura del SW 1​ M​ LSI​ Ciencias2

nam e surname subject gender department cam pus


Jose González Estadística H Matemáticas Ciencias1
Jose González Contabilidad H Economía Jurídicas
Jose González TALF H LSI Ciencias2
María García Gráficos y multimedia M LSI Ciencias2
María García TALF M LSI Ciencias2
Ana Fernández Estructura de datos 2 M LSI Ciencias2
Ana Fernández Estadística M Matemáticas Ciencias1
Eva Ayala Arquitectura del SW 1 M LSI Ciencias2
Segunda Forma Normal: 2FN
• Una tabla 1NF está en 2NF si dada una clave primaria, cualquier atributo que no sea un constituyente de la clave primaria
depende de todos los campos de esta, en vez de solo de una parte de ella.

• En nuestra tabla 1FN tenemos como clave primaria la combinación name, surname y subject. Si nos fijamos gender estaría
asociado a un subgrupo, los datos personales del estudiante de la clave primaria: name y surname. Además, department
estaría asociado a subject. ¿Solución? En realidad, son dos entidades diferentes. Las separaremos en dos tablas,
crearemos una clave primaria única en cada tabla, distribuiremos los campos en las tablas y definiremos una relación entre
las tablas.
id nam e surname gender
1 Jose González H
nam e surname subject gender department 2 María García M
3 Ana Fernández M
Jose González Estadística H Matemáticas
4 Eva Ayala M
Jose González Contabilidad H Economía
Jose González TALF H LSI
María García Gráficos y multimedia M LSI id nam e department cam pus
María García TALF M LSI 1 Estadística Matemáticas Ciencias1
Ana Fernández Estructura de datos 2 M LSI 2 Contabilidad Economía Jurídicas
Ana Fernández Estadística M Matemáticas 3 TALF LSI Ciencias2
Eva Ayala Arquitectura del SW 1 M LSI 4 Gráficos y multimedia LSI Ciencias2
5 Estructura de datos 2 LSI Ciencias2
6 Arquitectura del SW 1 LSI Ciencias2
¿Pero cómo hacemos la relación?

id nam e department cam pus

id nam e surname gender 1 Estadística Matemáticas Ciencias1

1 Jose González H 2 Contabilidad Economía Jurídicas

2 María García M 3 TALF LSI Ciencias2

3 Ana Fernández M 4 Gráficos y multimedia LSI Ciencias2

4 Eva Ayala M 5 Estructura de datos 2 LSI Ciencias2


6 Arquitectura del SW 1 LSI Ciencias2
La verdadera forma de una relación N a N
Las relaciones muchos a muchos se rompen creando una tabla de enlace, con la que las tablas de la
relación original tienen una relación uno a muchos. ¿Por qué?:
Para no tener información redundante y para mantener la integridad.

id_student id_subject
1 1 id nam e department cam pus
id nam e surname gender
1 Jose González H
1 N 1 2
N 1 1 Estadística Matemáticas Ciencias1
1 3
2 Contabilidad Economía Jurídicas
2 María García M 2 4
3 TALF LSI Ciencias2
3 Ana Fernández M 2 3
4 Gráficos y multimedia LSI Ciencias2
4 Eva Ayala M 3 5
5 Estructura de datos 2 LSI Ciencias2
3 1
6 Arquitectura del SW 1 LSI Ciencias2
4 6
Tercera Forma Normal: 3FN
Una tabla en 2FN estará en 3FN si:

• No tiene dependencias funcionales transitivas.

Una dependecia funcional transitoria se da cuando un atributo se relaciona con otro a través de un tercero, es decir, si z tiene una
dependicia funcional transitiva con X es porque: X -> Y e Y -> Z
En nuestro ejemplo, ¿cómo se relaciona la asignatura con el campus? A través del departamento: relación transitiva.

id nam e department cam pus


1 Estadística Matemáticas Ciencias1
¿Subject - > Campus?
2 Contabilidad Economía Jurídicas
3 TALF LSI Ciencias2
Subject -> Department -> Campus
4 Gráficos y multimedia LSI Ciencias2
5 Estructura de datos 2 LSI Ciencias2
6 Arquitectura del SW 1 LSI Ciencias2
Tercera Forma Normal: 3FN
¿Cómo convertiremos el ejemplo a 3FN?
id nam e id_dpt
1 Estadística 1
2 Contabilidad 2
3 TALF 3
4 Gráficos y multimedia 3
5 Estructura de datos 2 3
6 Arquitectura del SW 1 3
id nam e department cam pus
1 Estadística Matemáticas Ciencias1
2 Contabilidad Economía Jurídicas
3 TALF LSI Ciencias2
4 Gráficos y multimedia LSI Ciencias2
5 Estructura de datos 2 LSI Ciencias2 id department cam pus
6 Arquitectura del SW 1 LSI Ciencias2
1 Matemáticas Ciencias1
2 Economía Jurídicas
3 LSI Ciencias2

También podría gustarte