Está en la página 1de 66

Introducción a los Conceptos de

la Base de Datos Relacional


Abdón Carrera R.
Imagen del ciclo DB
• aquí
El modelo de datos se transformará en un
diseño de base de datos relacional.

Esto significa que nuestras entidades,


atributos, relaciones e identificadores únicos
se convertirán en objetos en una base de
datos relacional.
Ilustración de Base de Datos Relacional
•Una base de datos relacional es una base de
datos que el usuario ve como una recopilación
de tablas bidimensionales, que contiene
cada una filas y columnas.
Tabla de datos de los empleados
Tablas Relacionales
Una tabla es una estructura simple en la que se
organizan y se almacena datos.
Columnas
•Cada columna se utiliza para almacenar un tipo
específico de valor, como, por ejemplo, el
número de empleado, el apellido y el nombre
Filas
•cada fila describe una incidencia de un
empleado.
Lenguaje para acceder a los datos
• El lenguaje de consulta estructurado (SQL) nos permite acceder
a datos de bases de datos relacionales de forma eficaz.
Clave Primaria
• La clave primaria (PK)
es una columna o juego
de columnas que
identifica de forma
única cada fila de
una tabla
Clave Secundaria
• Una clave ajena
(FK) es una
columna o
combinación de
columnas de
una tabla que
contiene
valores que
coinciden con el
valor de clave
primaria de
otra tabla
Integridad de la Columna
• Una columna
solo debe
contener valores
que sean
consistentes
con el formato
de datos definido
de la columna
Restricciones(Integridad de Datos)
• Definen el estado relacionalmente correcto de una base de
datos.

• Las reglas de integridad de datos garantizan que los usuarios


puedan realizar solo las operaciones que dejan la base de
datos con un estado correcto y consistente.
Convirtiendo todo a tablas relacionales…
Nomenclatura del nombre de una tabla
• No dejar espacios en blanco
• Se pueden usar abreviaciones
• No usar números ni caracteres especiales
Introducción a SQL
Abdón Carrera R.
SQL

•Structured Query Language


SQL
•Un lenguaje usado en base de datos relacionales
•Basado en Algebra relacional
•supports CRUD
• – Create, Select, Update, Delete
Donde usamos SQL
• En la implementación del modelo físico
• Implementamos tablas usando los comandos de SQL
En los laboratorios…

•Usuario: root
•Password: admin
DDL (data definition language)

Definir y Setup (preparar) la base de datos

•CREATE, ALTER, DROP


•TRUNCATE, RENAME
DML (Data manipulation language)
•Para mantener y usar la base de datos

•SELECT, INSERT, DELETE, UPDATE


•– MySQL tiene muchos mas!
DCL (Data control language)

•Para controlar el acceso a la base de datos

•GRANT, REVOKE
Crear tabla
Create table - Estructura

CREATE TABLE table_name (


column1 datatype,
column2 datatype,
column3 datatype,
....
);
Ejemplo
CREATE TABLE Persona(
ID_persona int,
Apellido varchar(255),
Nombre varchar(255),
Direccion varchar(255),
Ciudad varchar(255)
);
Create table con RESTRICCIONES
• NOT NULL - Ensures that a column cannot have a NULL value
• UNIQUE - Ensures that all values in a column are different
• PRIMARY KEY - A combination of a NOT NULL and UNIQUE. Uniquely
identifies each row in a table
• FOREIGN KEY - Uniquely identifies a row/record in another table
• CHECK - Ensures that all values in a column satisfies a specific condition
• DEFAULT - Sets a default value for a column when no value is specified
• INDEX - Used to create and retrieve data from the database very quickly
Create table con RESTRICCIONES

CREATE TABLE table_name (


column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);
Create table con RESTRICCIONES

CREATE TABLE Persons (


ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255)
);
Create table con PRIMARY KEY.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
Recordar!!!

•Una PK tiene valores UNICOS y NO posee


NULL
•Una tabla tiene UN SOLO PK
SQL AUTO INCREMENT
• Hay veces que deseamos que los ID o Codigos se
generen automáticamente de forma secuencial (auto
incremento)
SQL AUTO INCREMENT
CREATE TABLE Persons (
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
Eliminar Tabla simple

drop table Nombre de la tabla


Crear tabla que contiene un FK
Crear tabla que contiene un FK
On update cascade ?

•Significa si el valor de la clave primaria


cambia, este valor se ve reflejado en las
claves foráneas.
On restrict delete
• Significa, cualquier intento de eliminar una clave
primary que se encuentre enlazada como clave
foránea en otra tabla. VA A CAUSAR ERROR
On restrict delete
CUIDADO AL ELIMINAR UNA
TABLA QUE CONTIENE FK
EJEMPLO
Insertar datos
Diferencia entre “ “ y NULL ????
Default – se usa cuando el atributo es
autoincrement
•A continuación el típico error al
insertar datos con FK
Insertar datos con FK
Select statement
sql
Select

Selecciona datos de una tabla basado en


distintos criterios
Select * from TABLA
El * en sql significa TODOS.
Esta sentencia muestra TODOS los registros
dentro de una TABLA
Seleccionar atributos especificos

Select Atributo1, Atributo2…. From Tabla


WHERE

Select * from Tabla Where Criterio/Condicion


Select * from Tabla Where Criterio/Condicion
Ejemplos

Select placa from Vehiculo


Where marca=“hyundai”
Ejemplos

Select * from Estudiante


Where promedio >= 7
Combinar Where con AND / OR / NOT
NOT
Ejemplos

Select precio from Producto


Where NOT
nombre=“tortolines”
Ejemplo

Select nombre_lugar, ubicación from


turismo
where precio < 50 AND
ciudad = “Otavalo”
Ejemplo

Select * from Cliente where ciudad=“Guayaquil”


AND (operadora=“Movistar” OR operadora=“CNT”)
Update
Update

CUIDADO!!!!, si no colocan WHERE…


TODOS LOS REGISTROS CAMBIAN DE VALOR
delete

DELETE FROM table_name WHERE condition;


CUIDADO con DELETE

También podría gustarte