SlideShare una empresa de Scribd logo
Ciclo 3: Desarrollo de Software
Sesión 12: Diseño de Bases de
Datos
Programa Ciencias de la Computación e Inteligencia Artificial
Escuela de Ciencias Exactas e Ingeniería
Universidad Sergio Arboleda
Bogotá
Contenido
• Introducción
• Breve repaso sobre bases de datos
• Bases de datos relacionales
• Ejercicio
Base de datos
Base de datos
Base de datos
Base de datos: DBMS
Modelo E/R
Representación del modelado relacional de datos.
Propuesto por Peter Chen en 1976.
Elementos:
• Entidad
• Atributos
• Relaciones
• Restricciones
Modelo E/R y modelo Relacional
Modelo E/R y modelo Relacional
Relación 1 a 1 Atributos de una entidad pasan a ser
atributos de otra.
Relación 1 a muchos Llave primaria de la entidad con cardinalidad
1 pasa a ser llave foránea en la entidad con
cardinalidad múltiple.
Relación muchos a muchos Cada llave primaria de una entidad está
presente como llave foránea en la otra
entidad.
Diagrama E/R Modelo Relacional
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Diagrama E/R Mysql Workbench
Como se genero la relación
entre editorial y libro, el
atributo Editorial_nombre
pasó a ser una llave foránea
automáticamente
(FK - Foreign Key).
Diagrama E/R Mysql Workbench
Ejemplo de relación
muchos a muchos.
Se puede exportar el
modelo en PNG
SQL – Creación de tablas
SQL para crear una tabla:
CREATE TABLE nombre_tabla (
nombre_columna1 datatype NULL,
nombre_columna2 datatype NOT NULL,
nombre_columna3 datatype NULL,
…
);
MySQL – Creación de tablas
MySQL para crear una tabla ejemplo:
CREATE TABLE Cliente (
cedula int(10) NOT NULL,
nombre varchar(30) NOT NULL,
apellido varchar(30) NOT NULL,
email varchar(30) NULL,
cargo varchar(15) NOT NULL
);
MySQL – Creación de tablas
MySQL para crear una tabla ejemplo:
Para definir la llave primaria.
CREATE TABLE Cliente (
cedula int(10) NOT NULL PRIMARY KEY,
nombre varchar(30) NOT NULL,
apellido varchar(30) NOT NULL,
email varchar(30) NULL,
cargo varchar(15) NOT NULL
);
MySQL – Creación de tablas
MySQL para crear una tabla ejemplo:
Para definir la llave primaria compuesta.
CREATE TABLE Cliente (
cedula int(10) NOT NULL,
nombre varchar(30) NOT NULL,
apellido varchar(30) NOT NULL,
email varchar(30) NULL,
cargo varchar(15) NOT NULL,
PRIMARY KEY (cedula, nombre, cargo)
);
MySQL – Valores por defecto y
listas de valores
MySQL para crear un valor por defecto y una lista de posibles valores:
CREATE TABLE pais (
id int(10) AUTOINCREMENT PRIMARY KEY,
nombre varchar(30) NOT NULL DEFAULT ‘’,
continente enum(‘Asia’, ‘Europa`,`Oceania`,`America`,`Antartica`)
NOT NULL DEFAULT ‘Asia’,
);
SQL – Borrar tablas
SQL para borrar una tabla:
Mucho cuidado con este comando, es complicado recuperar información
borrada.
DROP TABLE nombre_tabla
Código SQL en MySQL
Abrir un nuevo script SQL.
Ejecutar el código.
Aclaraciones código MySQL:
El punto y coma separa cada
consulta/comando.
Las tablas es MySQL deben estar
contenidas en un esquema.
Para eso se crea el esquema
restaurante.
Para trabajar sobre un esquema se
debe usar el comando USE.
Código SQL en MySQL Shell
Abrir el Shell de MySQL.
Agregar y ejecutar el código.
SQL – Adicionar Columnas
SQL para agregar una columna a una tabla que ya existe:
ALTER TABLE nombre_tabla
Add nombre_columna datatype NULL
ALTER TABLE nombre_tabla
Add nombre_columna datatype NULL,
nombre_columna2 datatype NULL
Agregar una columna:
Agregar varias columnas:
Toda columna que se agregue debe tener la propiedad NULL.
SQL – Adicionar un valor por defecto
SQL para agregar un valor por defecto a una columna que ya existe:
ALTER TABLE nombre_tabla
ALTER nombre_columna SET DEFAULT ‘valor por defecto’;
SQL – Inserción de datos (filas)
Sintaxis simplificada:
INSERT INTO nombre_tabla (nombre_atributo1, nombre_atributo2, …)
VALUES (valor_atributo1, valor_atributo2, …);
INSERT INTO nombre_tabla
VALUES (valor_atributo1, valor_atributo2, …);
Esta sintaxis se puede usar cuando los valores de los atributos se pasan en el
orden en que están en la tabla.
SQL – Inserción de datos (filas)
INSERT INTO clientes (ID, Dirección, Nombre)
VALUES (4, “Cra 90 # 1-1’, ‘Diego Vega’ );
INSERT INTO clientes
VALUES (5, ‘Peter Parker’, ‘Cra 9 # 2-2’);
ID Nombre Dirección
1 Juan Días Calle 2 # 3-4
2 Daniel Pardo Calle 5 # 7-8
3 Stephen King Calle 1 # 1-2
ID Nombre Dirección
1 Juan Días Calle 2 # 3-4
2 Daniel Pardo Calle 5 # 7-8
3 Stephen King Calle 1 # 1-2
4 Diego Vega Cra 90 # 1-1
5 Peter Parker Cra 9 # 2-2
SQL – Borrar datos
SQL para borrar una tabla:
DELETE FROM nombre_tabla;
SQL para borrar todos los registros de una tabla que cumplen con una
condición:
DELETE FROM cliente WHERE país = ‘Francia’;
SQL – Actualizar datos
SQL para actualizar un registro de una tabla:
UPDATE nombre_tabla
SET atributo1 = valor1, atributo2 = valor 2, …
WHERE atributoN = valorN;
Ejemplo: Actualizar en la base de datos de clientes, aquellos que tenían en
nacionalidad ‘Holanda’ por ‘Paises Bajos’.
UPDATE clientes
SET nacionalidad = ‘Paises Bajos’
WHERE nacionalidad = ‘Holanda’;
Ejericios
Una excelente forma de recordar las principales operaciones
del lenguaje SQL es realizar el siguiente tutorial
https://www.khanacademy.org/computing/computer-programming/sql/

Más contenido relacionado

Similar a Sesión 12 -Diseño de BD_Ciclo_3.pptx

ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdf
Jenny29068
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
Miguel Alejo Alejo
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
Ana Aguirre
 
Manual practico-sql
Manual practico-sqlManual practico-sql
Manual practico-sql
Liz Castelan Hernandez
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas
Crhis
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
Freddy Poma Inga
 
Intro sql y plsql
Intro sql y plsqlIntro sql y plsql
Intro sql y plsql
olsoftware
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
Alexys González
 
Base de datos - Clase 4
Base de datos - Clase 4Base de datos - Clase 4
Base de datos - Clase 4
Luis Miguel De Bello
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacionalOrlando Verdugo
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacionalOrlando Verdugo
 
MYSQL DDL DML.pdf
MYSQL DDL DML.pdfMYSQL DDL DML.pdf
MYSQL DDL DML.pdf
JULIOROBERTOHERAZOGO
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdf
BLANCAGESTRADARENTER
 
Sql server(1)
Sql server(1)Sql server(1)
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
K-rlos Pac
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
el_rosales
 
Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)
Videoconferencias UTPL
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
José Antonio Sandoval Acosta
 

Similar a Sesión 12 -Diseño de BD_Ciclo_3.pptx (20)

ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdf
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Manual practico-sql
Manual practico-sqlManual practico-sql
Manual practico-sql
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Intro sql y plsql
Intro sql y plsqlIntro sql y plsql
Intro sql y plsql
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Base de datos - Clase 4
Base de datos - Clase 4Base de datos - Clase 4
Base de datos - Clase 4
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
MYSQL DDL DML.pdf
MYSQL DDL DML.pdfMYSQL DDL DML.pdf
MYSQL DDL DML.pdf
 
EJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdfEJERCICIO SENTENCIAS SQL_Completo.pdf
EJERCICIO SENTENCIAS SQL_Completo.pdf
 
Sql server(1)
Sql server(1)Sql server(1)
Sql server(1)
 
PostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - TablasPostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - Tablas
 
Base de datos en sql
Base de datos en sql  Base de datos en sql
Base de datos en sql
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 
Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 

Último

REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNATREGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
yafethcarrillo
 
Instituciones financieras globales por efectivo disponible (2024).pdf
Instituciones financieras globales por efectivo disponible (2024).pdfInstituciones financieras globales por efectivo disponible (2024).pdf
Instituciones financieras globales por efectivo disponible (2024).pdf
JC Díaz Herrera
 
Mapa-conceptual-del-Neoclasicismo-4.pptx
Mapa-conceptual-del-Neoclasicismo-4.pptxMapa-conceptual-del-Neoclasicismo-4.pptx
Mapa-conceptual-del-Neoclasicismo-4.pptx
diegoandrerodriguez2
 
Diagnóstico Institucional en psicologia.docx
Diagnóstico  Institucional en psicologia.docxDiagnóstico  Institucional en psicologia.docx
Diagnóstico Institucional en psicologia.docx
cabreraelian69
 
Claves Ipsos numero 29 --- Mayo 2024.pdf
Claves Ipsos numero 29 --- Mayo 2024.pdfClaves Ipsos numero 29 --- Mayo 2024.pdf
Claves Ipsos numero 29 --- Mayo 2024.pdf
Emisor Digital
 
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
EliseoLuisRamrez
 
ORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesietORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesiet
Maria Apellidos
 
Presentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptxPresentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptx
cmrodriguezortiz1103
 
MATERIAS PRIMAS DE ORIGEN ORGÁNICO.pdf
MATERIAS PRIMAS DE ORIGEN   ORGÁNICO.pdfMATERIAS PRIMAS DE ORIGEN   ORGÁNICO.pdf
MATERIAS PRIMAS DE ORIGEN ORGÁNICO.pdf
uriel132
 
Licencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chileLicencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chile
franciscasalinaspobl
 
Análisis Datos imprecisos con lógica difusa.pdf
Análisis Datos imprecisos con lógica difusa.pdfAnálisis Datos imprecisos con lógica difusa.pdf
Análisis Datos imprecisos con lógica difusa.pdf
ReAViILICo
 
Ojiva porcentual para el análisis de datos
Ojiva porcentual para el análisis de datosOjiva porcentual para el análisis de datos
Ojiva porcentual para el análisis de datos
JaimeYael
 
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdfRESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
Observatorio Vitivinícola Argentino
 
Tecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdfTecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdf
uriel132
 
Pobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicagPobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicag
jairoperezjpnazca
 
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en HonduraspptxDiapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
WalterOrdoez22
 
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad  (2024).pdfPrimeros 70 países por IDH ajustado por desigualdad  (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
JC Díaz Herrera
 
Países_por_participacion_porcentual_en_el PNB global (2024) .pdf
Países_por_participacion_porcentual_en_el PNB global (2024) .pdfPaíses_por_participacion_porcentual_en_el PNB global (2024) .pdf
Países_por_participacion_porcentual_en_el PNB global (2024) .pdf
JC Díaz Herrera
 
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptxSISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
mogollonespinoza17
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
ManuelaReina3
 

Último (20)

REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNATREGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
 
Instituciones financieras globales por efectivo disponible (2024).pdf
Instituciones financieras globales por efectivo disponible (2024).pdfInstituciones financieras globales por efectivo disponible (2024).pdf
Instituciones financieras globales por efectivo disponible (2024).pdf
 
Mapa-conceptual-del-Neoclasicismo-4.pptx
Mapa-conceptual-del-Neoclasicismo-4.pptxMapa-conceptual-del-Neoclasicismo-4.pptx
Mapa-conceptual-del-Neoclasicismo-4.pptx
 
Diagnóstico Institucional en psicologia.docx
Diagnóstico  Institucional en psicologia.docxDiagnóstico  Institucional en psicologia.docx
Diagnóstico Institucional en psicologia.docx
 
Claves Ipsos numero 29 --- Mayo 2024.pdf
Claves Ipsos numero 29 --- Mayo 2024.pdfClaves Ipsos numero 29 --- Mayo 2024.pdf
Claves Ipsos numero 29 --- Mayo 2024.pdf
 
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
1- PRESENTACION DE ORIENTACIONES DE LA ORDENANZA 04-2023.11.04.24.pptx
 
ORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesietORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesiet
 
Presentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptxPresentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptx
 
MATERIAS PRIMAS DE ORIGEN ORGÁNICO.pdf
MATERIAS PRIMAS DE ORIGEN   ORGÁNICO.pdfMATERIAS PRIMAS DE ORIGEN   ORGÁNICO.pdf
MATERIAS PRIMAS DE ORIGEN ORGÁNICO.pdf
 
Licencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chileLicencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chile
 
Análisis Datos imprecisos con lógica difusa.pdf
Análisis Datos imprecisos con lógica difusa.pdfAnálisis Datos imprecisos con lógica difusa.pdf
Análisis Datos imprecisos con lógica difusa.pdf
 
Ojiva porcentual para el análisis de datos
Ojiva porcentual para el análisis de datosOjiva porcentual para el análisis de datos
Ojiva porcentual para el análisis de datos
 
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdfRESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
RESPUESTAS A PREGUNTAS FRECUENTES SOBRE LA VITIVINICULTURA ARGENTINA.pdf
 
Tecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdfTecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdf
 
Pobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicagPobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicag
 
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en HonduraspptxDiapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en Honduraspptx
 
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad  (2024).pdfPrimeros 70 países por IDH ajustado por desigualdad  (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
 
Países_por_participacion_porcentual_en_el PNB global (2024) .pdf
Países_por_participacion_porcentual_en_el PNB global (2024) .pdfPaíses_por_participacion_porcentual_en_el PNB global (2024) .pdf
Países_por_participacion_porcentual_en_el PNB global (2024) .pdf
 
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptxSISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
SISTEMA PRIVADO DE PENSIONES- de la cruz.pptx
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 

Sesión 12 -Diseño de BD_Ciclo_3.pptx

  • 1. Ciclo 3: Desarrollo de Software Sesión 12: Diseño de Bases de Datos Programa Ciencias de la Computación e Inteligencia Artificial Escuela de Ciencias Exactas e Ingeniería Universidad Sergio Arboleda Bogotá
  • 2. Contenido • Introducción • Breve repaso sobre bases de datos • Bases de datos relacionales • Ejercicio
  • 7. Modelo E/R Representación del modelado relacional de datos. Propuesto por Peter Chen en 1976. Elementos: • Entidad • Atributos • Relaciones • Restricciones
  • 8. Modelo E/R y modelo Relacional
  • 9. Modelo E/R y modelo Relacional Relación 1 a 1 Atributos de una entidad pasan a ser atributos de otra. Relación 1 a muchos Llave primaria de la entidad con cardinalidad 1 pasa a ser llave foránea en la entidad con cardinalidad múltiple. Relación muchos a muchos Cada llave primaria de una entidad está presente como llave foránea en la otra entidad. Diagrama E/R Modelo Relacional
  • 10. Diagrama E/R Mysql Workbench
  • 11. Diagrama E/R Mysql Workbench
  • 12. Diagrama E/R Mysql Workbench
  • 13. Diagrama E/R Mysql Workbench
  • 14. Diagrama E/R Mysql Workbench
  • 15. Diagrama E/R Mysql Workbench
  • 16. Diagrama E/R Mysql Workbench
  • 17. Diagrama E/R Mysql Workbench Como se genero la relación entre editorial y libro, el atributo Editorial_nombre pasó a ser una llave foránea automáticamente (FK - Foreign Key).
  • 18. Diagrama E/R Mysql Workbench Ejemplo de relación muchos a muchos. Se puede exportar el modelo en PNG
  • 19. SQL – Creación de tablas SQL para crear una tabla: CREATE TABLE nombre_tabla ( nombre_columna1 datatype NULL, nombre_columna2 datatype NOT NULL, nombre_columna3 datatype NULL, … );
  • 20. MySQL – Creación de tablas MySQL para crear una tabla ejemplo: CREATE TABLE Cliente ( cedula int(10) NOT NULL, nombre varchar(30) NOT NULL, apellido varchar(30) NOT NULL, email varchar(30) NULL, cargo varchar(15) NOT NULL );
  • 21. MySQL – Creación de tablas MySQL para crear una tabla ejemplo: Para definir la llave primaria. CREATE TABLE Cliente ( cedula int(10) NOT NULL PRIMARY KEY, nombre varchar(30) NOT NULL, apellido varchar(30) NOT NULL, email varchar(30) NULL, cargo varchar(15) NOT NULL );
  • 22. MySQL – Creación de tablas MySQL para crear una tabla ejemplo: Para definir la llave primaria compuesta. CREATE TABLE Cliente ( cedula int(10) NOT NULL, nombre varchar(30) NOT NULL, apellido varchar(30) NOT NULL, email varchar(30) NULL, cargo varchar(15) NOT NULL, PRIMARY KEY (cedula, nombre, cargo) );
  • 23. MySQL – Valores por defecto y listas de valores MySQL para crear un valor por defecto y una lista de posibles valores: CREATE TABLE pais ( id int(10) AUTOINCREMENT PRIMARY KEY, nombre varchar(30) NOT NULL DEFAULT ‘’, continente enum(‘Asia’, ‘Europa`,`Oceania`,`America`,`Antartica`) NOT NULL DEFAULT ‘Asia’, );
  • 24. SQL – Borrar tablas SQL para borrar una tabla: Mucho cuidado con este comando, es complicado recuperar información borrada. DROP TABLE nombre_tabla
  • 25. Código SQL en MySQL Abrir un nuevo script SQL. Ejecutar el código. Aclaraciones código MySQL: El punto y coma separa cada consulta/comando. Las tablas es MySQL deben estar contenidas en un esquema. Para eso se crea el esquema restaurante. Para trabajar sobre un esquema se debe usar el comando USE.
  • 26. Código SQL en MySQL Shell Abrir el Shell de MySQL. Agregar y ejecutar el código.
  • 27. SQL – Adicionar Columnas SQL para agregar una columna a una tabla que ya existe: ALTER TABLE nombre_tabla Add nombre_columna datatype NULL ALTER TABLE nombre_tabla Add nombre_columna datatype NULL, nombre_columna2 datatype NULL Agregar una columna: Agregar varias columnas: Toda columna que se agregue debe tener la propiedad NULL.
  • 28. SQL – Adicionar un valor por defecto SQL para agregar un valor por defecto a una columna que ya existe: ALTER TABLE nombre_tabla ALTER nombre_columna SET DEFAULT ‘valor por defecto’;
  • 29. SQL – Inserción de datos (filas) Sintaxis simplificada: INSERT INTO nombre_tabla (nombre_atributo1, nombre_atributo2, …) VALUES (valor_atributo1, valor_atributo2, …); INSERT INTO nombre_tabla VALUES (valor_atributo1, valor_atributo2, …); Esta sintaxis se puede usar cuando los valores de los atributos se pasan en el orden en que están en la tabla.
  • 30. SQL – Inserción de datos (filas) INSERT INTO clientes (ID, Dirección, Nombre) VALUES (4, “Cra 90 # 1-1’, ‘Diego Vega’ ); INSERT INTO clientes VALUES (5, ‘Peter Parker’, ‘Cra 9 # 2-2’); ID Nombre Dirección 1 Juan Días Calle 2 # 3-4 2 Daniel Pardo Calle 5 # 7-8 3 Stephen King Calle 1 # 1-2 ID Nombre Dirección 1 Juan Días Calle 2 # 3-4 2 Daniel Pardo Calle 5 # 7-8 3 Stephen King Calle 1 # 1-2 4 Diego Vega Cra 90 # 1-1 5 Peter Parker Cra 9 # 2-2
  • 31. SQL – Borrar datos SQL para borrar una tabla: DELETE FROM nombre_tabla; SQL para borrar todos los registros de una tabla que cumplen con una condición: DELETE FROM cliente WHERE país = ‘Francia’;
  • 32. SQL – Actualizar datos SQL para actualizar un registro de una tabla: UPDATE nombre_tabla SET atributo1 = valor1, atributo2 = valor 2, … WHERE atributoN = valorN; Ejemplo: Actualizar en la base de datos de clientes, aquellos que tenían en nacionalidad ‘Holanda’ por ‘Paises Bajos’. UPDATE clientes SET nacionalidad = ‘Paises Bajos’ WHERE nacionalidad = ‘Holanda’;
  • 33. Ejericios Una excelente forma de recordar las principales operaciones del lenguaje SQL es realizar el siguiente tutorial https://www.khanacademy.org/computing/computer-programming/sql/