0% encontró este documento útil (0 votos)
16 vistas15 páginas

Consultas SQL en Bases de Datos

Este documento introduce conceptos clave sobre consultas de más de una tabla en SQL, incluyendo productos cartesianos, uniones internas y claves externas. También explica el modelo entidad-relación y conceptos como entidades, relaciones, claves primarias y claves externas.

Cargado por

Luís Mendieta
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)
16 vistas15 páginas

Consultas SQL en Bases de Datos

Este documento introduce conceptos clave sobre consultas de más de una tabla en SQL, incluyendo productos cartesianos, uniones internas y claves externas. También explica el modelo entidad-relación y conceptos como entidades, relaciones, claves primarias y claves externas.

Cargado por

Luís Mendieta
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

Introducción a

Bases de Datos y SQL


Módulo 5

Introducción a Bases de Datos


Consultas
relacionadas

Introducción a Bases de Datos


Consultas de más de una tabla
Es posible consultar datos desde varias tablas en la misma sentencia SELECT. Esto permite
realizar otras dos operaciones de álgebra relacional: el producto cartesiano y la
composición interna.

Producto cartesiano:
Se obtiene mencionando las dos tablas en una consulta sin ninguna restricción en la
cláusula WHERE.

El PRODUCTO CARTESIANO de dos tablas son todas las combinaciones de todas las filas
de las dos tablas. Usando una sentencia SELECT se deben listar todos los campos de
ambas tablas. Los nombres de las tablas se indican en la cláusula FROM separados con
comas.

Introducción a Bases de Datos


Consultas de más de una tabla
Consultas de Unión Interna
Tabla: Productos Tabla: Marcas
idProducto Nombre Precio Marca Categoría Presentación Stock Disponible idMarca Nombre
1 iPhone 6 499.99 1 Smartphone 16GB 500 SI 1 Apple
2 iPad Pro 599.99 1 Smartphone 128GB 300 SI 2 Samsung
3 Nexus 7 299.99 4 Smartphone 32GB 250 NO 3 Huawei
4 Galaxy S7 459.99 2 Smartphone 64GB 200 SI 4 LG
5 Impresora T23 489.99 8 Impresoras Color 180 NO 5 Motorola
6 Impresora T33 399 8 Impresoras Color 200 NO 6 Google
7 Lavarropa 7000 1679 4 Lavarropas Automático 100 SI 7 HP
8 Camara Digital 760 649 9 Fotografía Sin detalle 150 NO 8 Epson
9 Notebook CQ40-300 2999 7 Notebooks Intel Core i3 100 SI 9 Kodak

Analizando el panorama, podrás observar que en la tabla PRODUCTOS, el campo IDPRODUCTO es


CLAVE PRIMARIA y, por ende, no puede tener valores repetidos. Pero, en el campo MARCA, el valor
numérico hace referencia a la marca a la que pertenece el producto. Una marca podría no tener ningún
producto asociado, o uno o muchos.

Introducción a Bases de Datos


Consultas de más de una tabla
Consultas de Unión Interna
Sintaxis:

SELECT * FROM Productos, Marcas;

idProducto Nombre Precio Marca Categoría Presentación Stock Disponible idMarca Nombre
1 iPhone 6 499.99 1 2 16GB 500 SI 1 Apple
1 iPhone 6 499.99 1 2 16GB 500 SI 2 Samsung
1 iPhone 6 499.99 1 2 16GB 500 SI 3 Huawei
1 iPhone 6 499.99 1 2 16GB 500 SI 4 LG
1 iPhone 6 499.99 1 2 16GB 500 SI 5 Motorola
1 iPhone 6 499.99 1 2 16GB 500 SI 6 Google
1 iPhone 6 499.99 1 2 16GB 500 SI 7 HP
1 iPhone 6 499.99 1 2 16GB 500 SI 8 Epson
1 iPhone 6 499.99 1 2 16GB 500 SI 9 Kodak

De esta forma se obtiene la combinación de todos los registros de la primera tabla con todos los
registros de la segunda tabla. Vale aclarar que la concordancia lógica de los datos jugará un rol
importante a la hora de ejecutar este tipo de consultas.

Introducción a Bases de Datos


Consultas de más de una tabla
Consultas de Unión Interna
Composición interna:
La composición interna se trata de un producto cartesiano
restringido en donde las tuplas (conjunto de nombres de
atributos relacionados) que se emparejan deben cumplir una
determinada condición.
Ejemplo:

SELECT * FROM Productos, Marcas


WHERE Productos.Marca = Marcas.idMarca;

Introducción a Bases de Datos


Modelo Entidad - Relación
Introducción

Cuando se utiliza una base de datos para Se suele cometer el error de ir creando
gestionar información, se está plasmando nuevas tablas a medida que se van
una parte del mundo real en una serie de necesitando, haciendo así el modelo de
tablas, registros y campos ubicados en un datos y la construcción física de las tablas
dispositivo, creándose un modelo parcial de simultáneamente.
la realidad. Antes de crear físicamente estas
En el modelo E-R se parte de una situación
tablas, se debe realizar un modelo de datos.
real a partir de la cual se definen entidades
El modelo Entidad-Relación (E-R) es uno de y relaciones entre dichas entidades.
los varios modelos conceptuales existentes
para el diseño de bases de datos.

Introducción a Bases de Datos


Modelo Entidad-Relación
Entidad
Una entidad es cualquier "objeto" discreto sobre el que se tiene información.
Cada ejemplar de una entidad se denomina instancia. Las entidades son
modeladas en la base de datos como tablas.

Introducción a Bases de Datos


Modelo Entidad-Relación
Integridad Referencial
La integridad referencial es un mecanismo que garantiza la integridad de datos en
tablas relacionadas, ya que la misma evita la existencia de los llamados registros
huérfanos (registros hijos sin su correspondiente registro padre).

Para establecer la integridad referencial es necesario crear


en una tabla hija una clave externa o foránea que esté relacionada
a una clave primaria de la tabla padre. Es posible establecer
el comportamiento de los registros en la tabla hija
cuando se producen actualizaciones de datos en la
clave primaria de la tabla padre o se eliminan registros
en la tabla padre a través de la definición de
operaciones en cascada: ON UPDATE, ON DELETE.

Introducción a Bases de Datos


Integridad Referencial
Clave Foránea (Foreign Key)
La Clave Foránea de una tabla es aquella que referencia a la Clave Primaria de una
tabla. Ésta puede referenciar a la Clave Primaria de la misma tabla o de otra. Ante una
consulta SQL, se valida la legitimidad de los datos almacenados en una Clave Foránea
y se fuerza la Integridad Referencial.

La Clave Foránea debe tener el mismo tipo de datos que el campo al cual hace
referencia, es decir, la Clave Primaria.

Introducción a Bases de Datos


Integridad Referencial
Clave Foránea (Foreign Key)
Clave Foránea - Sintaxis:

CREATE TABLE Facturas(Letra char NOT NULL, Numero int,


id_articulo int UNSIGNED NOT NULL, -- Coincide en tipo/longitud con el campo al que será relacionado
PRIMARY KEY (Letra, Numero),
);

CREATE TABLE Articulos(id_articulo INT UNSIGNED NOT NULL AUTO_INCREMENT,


Nombre VARCHAR(30) NOT NULL,
PRIMARY KEY (id_articulo) -- Al definir una Primary Key, ésta podrá tener como enlace una Foreign Key
);

ALTER TABLE Facturas ADD FOREIGN KEY(id_articulo) REFERENCES Articulos(id_articulo) ON DELETE CASCADE ON
UPDATE CASCADE;

Introducción a Bases de Datos


Modelo Entidad-Relación
Súper Llave
Es un conjunto de uno o más atributos que "juntos" identifican de manera única a una
entidad. Es decir que es un conjunto de uno o más atributos que, tomados
colectivamente, permiten identificar de forma única un registro en el conjunto de
registros. Es un conjunto de atributos mediante los cuales es posible reconocer a un
registro.
Este tipo de llaves contiene comúnmente atributos ajenos; es decir, atributos que no
son indispensables para llevar a cabo el reconocimiento del registro.

Introducción a Bases de Datos


Modelo Entidad-Relación
Conceptos Clave
● Clave candidata: es una súper llave ● Cardinalidad de las Relaciones: una
mínima. Una tabla puede tener varias relación describe cierta
llaves candidatas, pero sólo una es interdependencia (de cualquier tipo)
elegida como llave primaria. entre una o más entidades. Las
relaciones pueden ser:
● Relación: una relación describe cierta
○ De Uno a Uno: una instancia de la entidad
interdependencia (de cualquier tipo)
A se relaciona con una y solamente una de
entre una o más entidades. Esta no
la entidad B.
tiene sentido sin las entidades que
○ De uno a Muchos: cada instancia de la
relaciona. Las relaciones son definidas entidad A se relaciona con varias
con claves primarias y claves foráneas y instancias de la entidad B.
mantienen la integridad referencial. ○ De Muchos a Muchos: cualquier instancia
de la entidad A se relaciona con cualquier
instancia de la entidad B.

Introducción a Bases de Datos


Modelo Entidad-Relación
Conceptos Clave
● Atributos: las entidades tienen atributos. Un atributo de una entidad representa
alguna propiedad que nos interesa almacenar en el modelo de Bases de Datos; los
atributos son almacenados como columnas o campos de una tabla.

● Consideraciones en el Planeamiento del Diseño Lógico de la Base de Datos


○ Determinar el negocio y las necesidades del usuario.

○ Considerar cuáles son los problemas que hay que resolver y


las tareas que los usuarios deberán completar.

○ Crear Bases de Datos Normalizadas.

○ Evitar el almacenamiento de información duplicada,


inconsistencias en la base de datos, anomalías y
problemas de pérdida de la información.

Introducción a Bases de Datos


¡Muchas gracias!
¡Sigamos trabajando!

Introducción a Bases de Datos

También podría gustarte