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…
•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
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