Base De Datos I
-
Upload
videoconferencias-utpl -
Category
Technology
-
view
6.801 -
download
1
description
Transcript of Base De Datos I
1
ESCUELA:
NOMBRES
Base de Datos II BIMESTREI
FECHA:
Ing. Audrey Romero
ABRIL – AGOSTO 2009
1
CIENCIAS DE LA COMPUTACION
2
La importancia e impacto de las bases de datos es incuestionable.
Las organizaciones mantienen bases de datos: documentos de texto en lenguaje natural, tablas estadísticas, datos financieros y objetos multimedia, datos de naturaleza técnica y científica …
Las tecnologías de bases de datos, incluyen métodos de arquitectura y acceso para atender la demanda de administración de información.
Presentación de la Asignatura
3
Dotar al profesional en formación de las bases formales de Bases de Datos.
Dar a conocer al profesional en formación los criterios aplicables en el diseño de Bases de Datos.
Desarrollar en el profesional en formación las destrezas y conocimientos necesarios para el diseño de una base de datos.
Objetivos Generales
5
PRIMER BIMESTRE
5
Introducción a las Bases de datos TEMA 1
6
Sistemas basados en archivosSistemas basados en archivos◦ Predecesores de los SGBD.◦ Colección de programas de aplicación. ◦ Cada programa define y gestiona sus datos.◦ Presentan problemas significativos, como:
redundancia de datos dependencia entre programas y datos.
◦ Funcionan bien con un número pequeño de datos o cuando sólo se requiere almacenar y extraer datos.
◦ Inadecuados cuando se requiere procesar y relacionar información.
Introducción a las bases de datos
7
Limitaciones Sistemas basados en archivos Separación y aislamiento de los datos Duplicación de los datos Dependencia entre los datos Formatos de archivos incompatibles Consultas fijas Crecimiento de programas de aplicación
Introducción a las bases de datos
Sistemas basados en archivos
Introducción a las bases de datos
8
9
Sistemas de gestión de base de datosSistemas de gestión de base de datos◦ BDBD: colección de datos relacionados.◦ SGBD:SGBD: software que gestiona y controla
el acceso a la BD.◦ Aplicación BDAplicación BD: programa que interactúa
con la BD.SGBD interactúa con las aplicaciones y la
BD.Ejemplos: ◦ Compras en el supermercado◦ Depósito en el banco◦ Reserva en un hotel
Introducción a las bases de datos
Un SGBD normalmente: Permite a los usuarios definir la BD
mediante DDL. Permite a los usuarios manipular la BD
mediante DML. Proporciona acceso controlado a la BD. Proporciona un catálogo que contiene
descripciones de la BD.
Introducción a las bases de datos
10
11
Componentes de un entorno SGBD
Introducción a las bases de datos
Introducción a las bases de datos
Historia de los SGBDHistoria de los SGBD 12
13
Ventajas SGBD Control de redundancia de datos Coherencia y Compartición de datos Mayor integración de datos Mayor seguridad Mejor accesibilidad de datos y
capacidad de respuesta. Productividad mejorada Mejora de seguridad y recuperación
Introducción a las bases de datos
14
Desventajas SGBD Complejidad Tamaño Coste de SGBD Coste de hardware adicional Costes de conversión de hardware Prestaciones Mayor impacto a fallos
Introducción a las bases de datos
15
Entorno de la Base de Datos
16
Arquitectura ANSI - SPARC Se percibió la necesidad de adoptar un
enfoque en tres niveles, con: Vista del sistema -> Esquema Vistas de usuario -> Subesquema
Entorno de la base de datos
Entorno de la base de datos
17
18
Independencia de los datos Se percibió la necesidad de adoptar un
enfoque en tres niveles, con: Vista del sistema -> Esquema Vistas de usuario -> Subesquema
Entorno de la base de datos
19
MODELO RELACIONAL
20
El modelo relacional propuesto por Codd, cuya fortaleza es la estructura lógica simple. Se basa en el concepto de:
Relación MatemáticaRelación Matemática: subconjunto de un producto cartesiano de 2 o más conjuntos.
Relaciones en BD se representan mediante TablasTablas.
Estructuras◦ Relación, Relación, tabla con columnas y filas◦ AtributosAtributos, columna de la relación◦ TuplasTuplas, fila de la relación ◦ DominioDominio, conjunto valores permitidos de un atributo◦ GradoGrado, número de atributos◦ Cardinalidad, número de tuplas◦ DB RelacionalDB Relacional, colección de relaciones normalizadas
Modelo Relacional
21
Propiedades de las relacionesPropiedades de las relaciones◦ Nombres distintos (únicos)◦ Cada celda tiene un valor atómico ◦ Cada atributo tiene un nombre distinto◦ Los valores de un atributo tienen igual
dominio◦ No hay tuplas duplicadas◦ El orden de los atributos no tiene
importancia◦ Teóricamente no importa el orden de
tuplas
Modelo Relacional
22
Claves relacionales◦ SuperclaveSuperclave, atributo(s) que identifica(n)
unívocamente cada tupla de la relación. ◦ ClaveClave candidatacandidata, superclave que no
contiene atributos adicionales innecesarios.
◦ ClaveClave principalprincipal, la clave candidata seleccionada para identificar unívocamente una relación.
◦ ClaveClave externa/ajenaexterna/ajena, atributo de R1 que se corresponde con la clave candidata de R2.
Modelo Relacional
23
Restricciones de integridad Modelo Relacional
◦ De dominio: De dominio: limitación en valores permitidos a un atributo.
◦ Valores nulosValores nulos: Valores desconocidos.◦ Integridad de entidadIntegridad de entidad: Ningún atributo que
es clave principal puede ser nulo.◦ Integridad referencialIntegridad referencial: El valor de una clave
externa debe corresponderse con el valor de una clave candidata de alguna tupla en su relación origen.
◦ Restricciones generalesRestricciones generales: Reglas adicionales especificadas por los usuarios.
Modelo Relacional
24
ALGEBRA RELACIONAL
25
Lenguaje procedimental con operaciones que se aplican a una o más relaciones.
Las 5 operaciones básicas en algebra relacional son:◦ Selección◦ Proyección◦ Producto Cartesiano ◦ Unión ◦ Diferencia de Conjuntos
Las operaciones son:◦ Unarias◦ De conjuntos
Algebra Relacional
26
Lenguaje procedimental con operaciones que se aplican a una o más relaciones.Ejemplo:
Algebra Relacional
27
Operaciones unarias◦ SelecciónSelección, selecciona tuplas que
satisfacen una condición. <condicion>(<condicion>(<nombretabla><nombretabla>)) salary > 10000 (Staff)(Staff)
◦ ProyecciónProyección, identifica atributos/columnas para presentar. <atributo(s)><atributo(s)> ((<nombretabla><nombretabla>)) fname, lname, salary (Staff)(Staff)
Algebra Relacional
28
Operaciones de conjuntosOperaciones de conjuntos◦ Producto CartesianoProducto Cartesiano, combina/multiplica
todas las tuplas entre tablas. (<nombretabla1>) (<nombretabla1>) x x (<nombretabla2>)(<nombretabla2>) (Branch) (Branch) x x (Staff) (Staff)
◦ Producto NaturalProducto Natural, combina/multiplica dos tablas sobre todos los atributos comunes entre ambas.(<nombretabla1>) (<nombretabla1>) (<nombretabla2>)(<nombretabla2>) (Branch) (Branch) (Staff) (Staff)
Algebra Relacional
29
Operaciones de conjuntosSe requiere que las relaciones sean compatible en la
Unión.◦ Unión, combina todas las tuplas de la
tabla1 y la tabla2 eliminando las filas repetidas.
(<nombretabla1) (<nombretabla1) (<nombretabla2)(<nombretabla2)
city (Branch)(Branch) city (PropertyforRent)(PropertyforRent)
Algebra Relacional
City
London
Aberdeen
Glasgow
Bristol
30
◦ Intersección, obtiene las tuplas comunes entre la tabla1 y la tabla2.
(<nombretabla1) (<nombretabla1) (<nombretabla2)(<nombretabla2)
city (Branch) (Branch) city (PropertyforRent)(PropertyforRent)
Algebra Relacional
City
London
Aberdeen
Glasgow
31
Operaciones de conjuntos◦ Diferencia, Diferencia, obtiene los datos que se
encuentran en la tabla1 pero no en la tabla2 (<nombretabla1>) - (<nombretabla1>) - (<nombretabla2>)(<nombretabla2>)
city (Branch) (Branch) -- city (PropertyforRent)(PropertyforRent)
Algebra Relacional
City
Bristol
32
MANIPULACION DE DATOS
33
Escritura de comandos SQL Palabras reservadas y definidas por el
usuario Hay palabras reservadas que son
obligatorias y otras opcionales. No es sensitivo a mayúsculas en las
palabras reservadas. Sensitivo a mayúsculas en los datos a
obtener por ejemplo: “Smith” “SMITH” “SMith” se tratan de diferente manera.
Manipulación de datos
34
Manipulación de datos: SELECT, INSERT◦ SELECT, para consultar datos
SELECT atributo1, …. nSELECT atributo1, …. nFROM nombretabla [alias]FROM nombretabla [alias][WHERE condicion][WHERE condicion][ORDER BY] atributos [ORDER BY] atributos [GROUP BY] atributos [GROUP BY] atributos
◦ INSERT, para insertar datosINSERT INTO <nombretabla> (atributo1,…n)INSERT INTO <nombretabla> (atributo1,…n)VALUES (valor1, …n)VALUES (valor1, …n)
Manipulación de datos
35
UPDATE, para actualizar datosUPDATE <nombretabla>UPDATE <nombretabla>SET atributo1 = valor1SET atributo1 = valor1[WHERE <condicion>][WHERE <condicion>]
DELETE, para borrar datosDELETE FROM <nombretabla>DELETE FROM <nombretabla>[WHERE <condicion>][WHERE <condicion>]
Manipulación de datos
36
Consultas simplesLas consultas son un herramienta potente que combina operaciones de Algebra Relacional Selección y Proyección. Una consulta simple consiste en extraer datos de una tabla.Ejemplos:1) SELECT *SELECT *
FROM StaffFROM Staff
2) SELECT fName, lname, salaryFROM StaffWHERE salary > 10000
3) Ordenación de resultadosSELECT fName, lname, salaryFROM StaffORDER BY salary
Manipulación de datos
37
Consultas de varias tablas Permite combinar varias tablas (join)
FROM: incluir las tablas separadas con , WHERE: especificar las columnas de la
combinación.SELECT branchNo, fname, lname, salaryFROM Branch, StaffWHERE Branch.branchNo= Staff. branchNo
Manipulación de datos
38
DEFINICION DE DATOS
39
Tipos de datos NuméricoNumérico NUMERIC NUMERIC INTEGERINTEGERDecimal Decimal FLOATFLOAT DOUBLEDOUBLECarácterCarácter CHARCHAR VARCHAR VARCHARFechaFecha DATE DATE
Características de mejora de integridad
Datos requeridos, algunos atributos deben tener obligatoriamente un valor (NOT NULLNOT NULL)
Restricciones de dominio, algunos atributos deben contener sólo ciertos valores (CHECKCHECK)
Integridad de entidades (PRIMARY KEY) Integridad referencial (FOREIGN KEY)
Definición de datos
40
Crear una tablaDefinición de datos
CREATE TABLE nombreTablaCREATE TABLE nombreTabla
{ <Atributo><tipodato> [NOT NULL] [PRIMARY KEY]{ <Atributo><tipodato> [NOT NULL] [PRIMARY KEY]
[CHECK <condicion>] }[CHECK <condicion>] }
[PRIMARY KEY (atributo (S)][PRIMARY KEY (atributo (S)]
[FOREIGN KEY (clave externa) REFERENCES[FOREIGN KEY (clave externa) REFERENCES
<tablaPadre> (clave candidata)]}<tablaPadre> (clave candidata)]}
CREATE TABLE StaffCREATE TABLE Staff
staffno varchar2(4) PRIMARY KEY,staffno varchar2(4) PRIMARY KEY,
fname varchar2(20),fname varchar2(20),
lname varchar2(20),branchNo varchar2(4),lname varchar2(20),branchNo varchar2(4),
FOREING KEY branchNo REFERENCES branch (branchNo)FOREING KEY branchNo REFERENCES branch (branchNo)
41
Modificar una tabla
Definición de datos
ALTER TABLE nombreTablaALTER TABLE nombreTabla
[ ADD COLUMN <Atributo><tipodato> [NOT NULL]][ ADD COLUMN <Atributo><tipodato> [NOT NULL]]
Eliminar una tabla
DROP TABLE nombreTablaDROP TABLE nombreTabla
42
Otros objetos: índices, vistas, secuencias Índices, estructura que permite acelerar el
acceso a las filas. INDEX Vistas, resultado operaciones relacionales.
VIEW Secuencias, objeto que genera números
secuenciales. SEQUENCE Asignar/Eliminar privilegios a otros usuarios
Acciones que se permite a un usuario ejecutar sobre una tabla como lectura, escritura, …
Definición de datos
GRANT {privilegios}
ON nombreTabla
REVOKE {privilegios}
ON nombreTabla
43