Beruflich Dokumente
Kultur Dokumente
Definicin formal
Es un conjunto exhaustivo (en su modelizacin del mundo real) de datos estructurados, fiables y homogneos, organizados independientemente de su utilizacin y de su implementacin en mquina, accesibles en tiempo real, compartibles por usuarios concurrentes que tienen necesidades de informacin diferentes y no predecibles en el tiempo.
SQL Pgina 2
SQL Pgina 3
Estructurados independientemente de las aplicaciones y d Presentan la menor redundancia posible. Son compartidos por varios usuarios y/o aplicaciones. Estn bajo un control centralizado.
SQL Pgina 4
Los sistemas relacionales operan conceptualment Las tablas permiten representar la informacin de Es posible acceser a la informacin contenida en
SQL Pgina 5
Una tabla est formada por Filas y Columnas. Las Filas son equivalentes a los Registros de un ar Las Columnas son equivalentes a los Campos (qu
Ejemplo de Tabla
Clave Primaria DNI 2341167 5625711 6718273 Campo Nombre Pedro Mara Jos Campo Apellido Alonso Gmez Lpez Campo Telfono 6273652 6718234 6715629 Campo Nombre Campos Registro Registro Registro
SQL Pgina 6
El concepto: CLAVE
SQL Pgina 7
Una clave es una referencia que se utiliza para ide La Clave Primaria o principal es la que es mni
La Clave Primaria
El nombre de la Tabla. La columna. El valor de la clave.
SQL Pgina 8
SQL Pgina 9
La B de D contendr generalmente muchas Tablas. Una Tabla slo contiene un nmero fijo de Campos. El nombre de los Campos que componen una Tabla es distinto. Cada Registro de una Tabla es nico. El orden de los Registros y el orden de los Campos de una Tabla no est determinado. Para cada Campo existe un conjunto de valores posibles (Dominio).
Diseo de B de D Relacionales I
Informacin disponible. Informacin que necesitamos.
SQL Pgina 10
Esquematizar sobre papel el problema. Considerar los datos a gestionar y estimar el espa
Diseo de B de D Relacionales II
Campos
Nombre del campo Tipo del campo Anchura del campo
SQL Pgina 11
Datos
SQL Pgina 12
Relaciones (ejemplo 1)
SQL Pgina 13
Cada vez que se de de alta a un paciente hay que Por ello conviene separar los datos en dos Tablas:
Pacientes Mdicos
Relaciones (ejemplo 2)
Tabla Pacientes
Nmero SS paciente Nombre del paciente Apellidos del paciente Domicilio Poblacin Provincia Cdigo postal Nmero de Telfono Procedencia Fecha de ingreso Cdigo del mdico responsable Nmero de planta Nmero de cama Nmero de historial clnico
SQL Pgina 14
Tabla mdicos
Cdigo del mdico responsable Nombre Apellidos Especialidad Nmero de colegiado Cargo Observaciones
Relaciones (ejemplo 3)
Se ha aadido un cdigo de identificacin del mdico responsable, presente en ambas Tablas. Se ha aadido el Nmero de la SS para identificar de forma nica a cada paciente. Observando la Tabla pacientes se ve que esta se puede descomponer en:
Tabla Pacientes (datos de identificacin) Tabla Ingresos
SQL Pgina 15
Relaciones (ejemplo 4)
Tabla pacientes
Nmero de la SS Nombre del paciente Domicilio Poblacin Provincia Cdigo postal Nmero de telfono Nmero de historial clnico Observaciones
SQL Pgina 16
Tabla ingresos
Nmero de historial clnico Procedencia Fecha de ingreso Cdigo de identificacin del m Nmero de planta Nmero de cama Observaciones
SQL Pgina 17
Chaqueta 100 Tabla bidimensional con atributos (columnas) y los datos correspondientes (filas) Columnas: atributos que reflejan las caractersticas o propiedades de la tabla Filas: contienen los datos que describen los productos Clave (key): Identificador de la tabla (formado por uno o ms atributos de la tabla)
SQL Pgina 18
empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) proyectos (cod_pro, nombre, presupuesto) Un empleado pertenece a un nico departamento. Un empleado est asignado a un proyecto.
SQL Pgina 19
empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) proyectos (cod_pro, nombre, presupuesto) El atributo cod_dept de la tabla empleados hace referencia a la tabla departamentos
SQL Pgina 20
SQL Pgina 21
SQL = Standard Query Language Actualmente es el lenguaje estndar para los sistemas de base de datos relacionales
Aceptado por ANSI / X3H2 Versiones: SQL/86, SQL2 (92), SQL3 (99) Pero existen variantes del lenguaje en funcin del Sistema de Gestin de Base de Datos (SGBD) !!!
Trabajaremos con MySQL
SQL Pgina 22
P1 Camiseta 45 P2 Pantaln 80 P3 Chaqueta 100 SELECT cod_prod, nombre, precio FROM Productos WHERE precio > 50;
SQL Pgina 23
SQL Pgina 24
Insert
Permite aadir datos en la BD (filas de una tabla)
Update
Permite modificar datos en la BD (filas de una tabla)
Delete
Permite borrar datos en la BD (filas de una tabla)
SQL Pgina 25
SQL Pgina 26
SQL Pgina 27
SQL Pgina 28
SQL Pgina 29
Ejemplos: AND: SELECT cod_emp, sueldo FROM empleados WHERE nombre = "Josep" AND cod_emp >= 3; BETWEEN: SELECT * FROM empleados WHERE cod_emp BETWEEN 2 AND 5; LIKE: SELECT * FROM empleados WHERE nombre LIKE "M%" AND cod_emp >= 3;
SQL Pgina 30
SQL Pgina 31
Notacin: SELECT <nombre_cols> FROM <nombre_tablas> [ WHERE <condiciones_booleanas> ] ORDER BY <atributo_1>, ..., <atributo_N>; Ejemplo: SELECT nombre, sueldo FROM empleados ORDER BY sueldo DESC; {por defecto es ASC}
SQL Pgina 32
COUNT(<fila>) {devuelve el total de filas seleccionadas} SUM(<columna>) {suma los valores de una columna} MIN(<columna>) {devuelve valor mnimo columna} MAX(<columna>) {devuelve valor mximo columna} AVG(<columna>) {devuelve la mediana de la columna} ... Ejemplos:
Ejercicios
SQL Pgina 33