La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de las Base de Datos. Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia.

Presentaciones similares


Presentación del tema: "Fundamentos de las Base de Datos. Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia."— Transcripción de la presentación:

1 Fundamentos de las Base de Datos

2 Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia del diseño de base de datos. Evolucion de las bases de datos a partir de sistemas de archivos.

3 Que es una Base de Datos Es un conjunto de datos organizados persistentes, almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.

4 Datos VS Informacion Datos: Los datos son DATOS sin procesar. Informacion: La informacion es el resultado de procesar datos sin elaborar para dejar ver su significado.

5 Clasificacion de las bases de datos Las Bases de Datos se clasifican de diferentes maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.

6 Clasificacion de las bases de datos Se clasifican segun su: Variabilidad: Base de datos Estaticas y Dinamicas. Contenido: Base de Datos Bibliograficas, Texto Completo (como revistas),

7 Modelos de Base de Datos Un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos, es decir, los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos.

8 Modelos de Base de Datos Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos.

9 Base de Datos Relacional El modelo de base de datos relacional es el mas utilizado en la actualidad para representar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de "relaciones“, conocidas comúnmente como tablas. Cada relación es una tabla que está compuesta por: RegistrosRegistros (las filas de una tabla), que también son llamados tuplas. CamposCampos (las columnas de una tabla), que también son llamados atributos.

10 Ejemplo

11 Modelo Relacional Un modelo relacional esta constituido de tablas primarias y tablas relacionales. Una tabla primaria es aquella que no tiene dependencia.

12 Modelo Relacional Una tabla relacional es aquella que tiene relacion con una o mas tablas.

13 Modelo Relacional Tabla relacional

14 Modelo Relacional Llave primaria (Primary Key): Es aquella que identifica de manera unica a cada registro. Llave candidata: Es aquella que tambien identifica de manera unica a un registro y en algun momento puede convertirse en llave primara. Llave foranea: Es llamada clave Externa, es uno o mas campos de un tabla que hacen referencia al campo o campos de clave principal de otra tabla, una clave externa indica como esta relacionadas las tablas.

15 Modelo Relacional Relaciones o Correspondencia de Cardinalidad: 1:1 (uno a uno) 1:N o N:1 (uno a varios o varios a uno) N:N o N:M (varios a varios)

16 Modelo Relacional (1:1) Un empleado es jefe de uno y solamente un departamento

17 Modelo Relacional (1:N) El cliente realiza uno o muchos pedidos

18 Modelo Relacional (N:N) El estudiante toma una o mas materias y las materias son tomadas por uno o mas estudiantes.

19 SQL DDL (Lenguaje de definicion de datos) create, drop, alter DML (Lenguaje de manipulacion de datos) select, insert, update, delete

20 SQL Crear una base de datos: CREATE DATABASE nombre_basededatos; Eliminar una base de datos: DROP DATABASE nombre_basededatos; Usar una base de datos: USE nombre_basededatos;

21 SQL Crear una tabla: CREATE TABLE nombre_tabla; Eliminar una tabla: DROP TABLE nombre_tabla; Cambiar el nombre de una tabla: RENAME TABLE departamento TO departamento1;

22 Crear una tabla primaria CREATE TABLE empleado( idEmpleado INT AUTO_INCREMENT PRIMARY KEY, ci VARCHAR(15) UNIQUE, primerNombre VARCHAR(15) NOT NULL, segundoNombre VARCHAR(15), apellidoPaterno VARCHAR(15) NOT NULL, apellidoMaterno VARCHAR(15) NULL, telefono INT NOT NULL, genero ENUM('F','M') NOT NULL, fechaNacimiento DATE NOT NULL, activo bool NOT NULL )ENGINE=InnoDB;

23 Crear una tabla primaria Revisando la estructura de la table creada

24 Crear una tabla relacional CREATE TABLE departamento( idDepartamento INT PRIMARY KEY, idEmpleado INT NOT NULL, nombre VARCHAR(20) UNIQUE, FOREIGN KEY(idEmpleado) REFERENCES empleado(idEmpleado) )ENGINE=InnoDB;

25 ALTER table Modificar la estructura de una tabla existente Ejecutar el siguiente comando ALTER TABLE departamento ADD descripcion text AFTER nombre;

26 Insertar datos en tabla primaria Primera Forma: Los campos no necesariamente pueden ser listados. INSERT INTO empleado VALUES(NULL,'122','Kevin','Eduardo','Hidalgo','Ocampo',70790901,'M','19 98-01-12',TRUE); Segunda Forma: Cuando los campos que no son requeridos son llenados con cadenas vacias. INSERT INTO empleado VALUES(NULL,'121','Kevin','','Hidalgo','',70790901,'M','1998-10-25',TRUE);

27 Insertar datos en tabla primaria Tercera Forma: Cuando los campos son listados. INSERT INTO empleado(idEmpleado,ci,primerNombre,segundoNombre,apellidoPate rno,apellidoMaterno,telefono,genero,fechaNacimiento,activo) VALUES(NULL,'123','Gabriel','Javier','Galarza','Lopez',70778789,'F','199 9-03-01',TRUE); Cuarta Forma: Cuando el campo “idEmpleado” no es necesariamente listado. INSERT INTO empleado(ci,primerNombre,segundoNombre,apellidoPaterno, apellidoMaterno,telefono,genero,fechaNacimiento,activo) VALUES('124','Sara','Oscar','Manzanero','Duran',60912120,'F','1999-05- 11',TRUE);

28 Insertar datos en tabla primaria Quinta Forma: Cuando solamente se registran los datos requeridos INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimi ento,activo) VALUES('Cenit','Cartagena',60912003,'F','1999-12-15',TRUE); Errores que pueden existir al momento de insertar INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimi ento,activo) VALUES('Cenit','Cartagena',60912003,‘S','1999-12-15',TRUE);

29 Errores que pueden existir al momento de insertar Primera forma INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimi ento,activo) VALUES('Coral','Claros',79090908,'S','1999-09-25',TRUE);

30 Errores que pueden existir al momento de insertar Segunda forma INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimi ento,activo) VALUES('Coral','Claros',79078564,'F','09/24/2000',TRUE);

31 Errores que pueden existir al momento de insertar Tercera forma Cuando se trata de registrar datos que no corresponden al tipo de dato. INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimiento, activo) VALUES('Diana','Claros',79078564,'F',1990,TRUE); Cuarta forma Cuando se trata de insertar en mas o menos cantidad de columnas. INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimiento, activo) VALUES('Diana','Claros','Suazo',79078564,'F',1990,TRUE);

32 Errores que pueden existir al momento de insertar Quinta forma INSERT INTO empleado(primerNombre,apellidoPaterno,telefono,genero,fechaNacimi ento,activo) VALUES('Coral','Claros',79078564,'F','2000-02-30',TRUE);

33 Insertar datos en tabla relacional INSERT INTO departamento(idDepartamento,idEmplea do,nombre) VALUES(1001,4,'Almacenes');

34 Formato Basico de Consultas SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT

35 Consultas Consulta general a la tabla empleados. SELECT * FROM empleado;

36 Consultas Consulta general a la tabla departamento. SELECT * FROM departamento;

37 Actualizar una o mas columnas de un registro o fila UPDATE nombre_de_la_tabla SET colocar una o mas columnas de las que desea actualizar WHERE condiciones AND si existe mas condiciones ORDER BY en el orden que quiere que se actualice LIMIT hasta cuantos registros actualizara.

38 Actualizar una o mas columnas de un registro o fila La cláusula SET indica las columnas a modificar y los valores que deben tomar. La cláusula WHERE, si se da, especifica qué filas deben ser actualizadas. Si no se especifica, serán actualizadas todas ellas. Si se especifica la cláusula ORDER BY, las filas se modificarán en el orden especificado. La cláusula LIMIT establece un límite al número de filas que se pueden actualizar.

39 UPDATE Actualizar los datos del empleado cuyo identificador es 12. Actualizar su ci = ‘152’, segundoNombre = ‘Amalia’ apellidoMaterno = ‘Palmas’

40 UPDATE UPDATE empleado SET ci = '152', segundoNombre = ‘Amalia', apellidoMaterno = 'Palmas' WHERE idEmpleado = 12;

41 LIMIT Listar los tres primeros empleados SELECT * FROM empleado LIMIT 3;

42 ORDER BY Listar los empleados ordenadamente por apellido paterno y primer nombre. Solamente se requiere que se liste los campos o columnas apellido paterno y primer nombre y en ese mismo orden quiere que sea mostrado. SELECT apellidoPaterno, primerNombre FROM empleado ORDER BY apellidoPaterno, primerNombre;

43 Consultas Listar los empleados activos de genero femenino por apellido paterno y primer nombre, ordenados alfabeticamente. SELECT apellidoPaterno, primerNombre FROM empleado WHERE genero = 'F‘ AND activo = 1 ORDER BY apellidoPaterno, primerNombre;

44 LIKE: ‘%valor%’, ’valor%’, ’%valor’ valor puede ser una cadena o character o numero Listar los empleados activos por apellido paterno y primer nombre, ordenados alfabeticamente y cuyo apellido paterno termina en el caracter 'o‘ y primer nombre en el caracter 'n‘. SELECT apellidoPaterno, primerNombre FROM empleado WHERE activo = TRUE AND apellidoPaterno LIKE '%o' AND primerNombre LIKE '%n' ORDER BY apellidoPaterno, primerNombre;

45 Alias “AS” Listar los empleados. SELECT e.* FROM empleado AS e; OTRA FORMA SELECT emp.* FROM empleado emp; Listar el ci y fecha de nacimiento SELECT e.ci, e.fechaNacimiento FROM empleado e; NOTA: Para una sola tabla, no es necesario utilizar ALIAS “AS”. Solo con fines de enseñanza se lo esta usando para este caso.

46 UNION DE DOS TABLAS - JOINS Recordar la relacion 1:1 (1:1) Un empleado es jefe de uno y solamente un departamento

47 Consultas Listar los empleados que son jefes de algun departamento SELECT e.primerNombre, e.segundoNombre, e.apellidoPaterno, e. apellidoMaterno, d.nombre FROM empleado e INNER JOIN departamento d WHERE e.idEmpleado = d.idEmpleado; NOTA: Cuado son dos o mas tablas, es mejor usar los alias.

48 Tarea 1.Verificar y explicar en caso de actualizar que sucede si no se coloca una condicion. 2.Verificar y explicar como se actualiza utilizando el order by. 3.Listar aquellos empleados cuyo ci contenga el numero 2. 4.Listar los empleados que son jefes de algun departamento cuyo apellido paterno termine en ‘za’. 5.Listar empleados cuyo primer nombre contenga la cadena “mar” y el apellido paterno termine en “o” 6.Listar los departamentos con sus respectivos empleados ordenados de manera descendente, donde su numero telefonico contenga los numerous ‘89’ y el primer nombre comience con “ed” y el apellido paterno termine en ‘a’.


Descargar ppt "Fundamentos de las Base de Datos. Contenido Que es una Base de Datos. La diferencia entre datos e informacion. Clasificacion de las base de datos. Importancia."

Presentaciones similares


Anuncios Google