Base De Datos I

43
1 ESCUELA: NOMBRES Base de Datos I I BIMESTREI FECHA: Ing. Audrey Romero ABRIL – AGOSTO 2009 1 CIENCIAS DE LA COMPUTACION

description

Las tecnologías de bases de datos, incluyen métodos de arquitectura y acceso para atender la demanda de administración de información.

Transcript of Base De Datos I

Page 1: Base De Datos I

1

ESCUELA:

NOMBRES

Base de Datos II BIMESTREI

FECHA:

Ing. Audrey Romero

ABRIL – AGOSTO 2009

1

CIENCIAS DE LA COMPUTACION

Page 2: Base De Datos I

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

Page 3: Base De Datos I

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

Page 4: Base De Datos I

5

PRIMER BIMESTRE

Page 5: Base De Datos I

5

Introducción a las Bases de datos TEMA 1

Page 6: Base De Datos I

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

Page 7: Base De Datos I

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

Page 8: Base De Datos I

Sistemas basados en archivos

Introducción a las bases de datos

8

Page 9: Base De Datos I

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

Page 10: Base De Datos I

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

Page 11: Base De Datos I

11

Componentes de un entorno SGBD

Introducción a las bases de datos

Page 12: Base De Datos I

Introducción a las bases de datos

Historia de los SGBDHistoria de los SGBD 12

Page 13: Base De Datos I

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

Page 14: Base De Datos I

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

Page 15: Base De Datos I

15

Entorno de la Base de Datos

Page 16: Base De Datos I

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

Page 17: Base De Datos I

Entorno de la base de datos

17

Page 18: Base De Datos I

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

Page 19: Base De Datos I

19

MODELO RELACIONAL

Page 20: Base De Datos I

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

Page 21: Base De Datos I

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

Page 22: Base De Datos I

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

Page 23: Base De Datos I

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

Page 24: Base De Datos I

24

ALGEBRA RELACIONAL

Page 25: Base De Datos I

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

Page 26: Base De Datos I

26

Lenguaje procedimental con operaciones que se aplican a una o más relaciones.Ejemplo:

Algebra Relacional

Page 27: Base De Datos I

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

Page 28: Base De Datos I

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

Page 29: Base De Datos I

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

Page 30: Base De Datos I

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

Page 31: Base De Datos I

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

Page 32: Base De Datos I

32

MANIPULACION DE DATOS

Page 33: Base De Datos I

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

Page 34: Base De Datos I

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

Page 35: Base De Datos I

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

Page 36: Base De Datos I

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

Page 37: Base De Datos I

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

Page 38: Base De Datos I

38

DEFINICION DE DATOS

Page 39: Base De Datos I

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

Page 40: Base De Datos I

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)

Page 41: Base De Datos I

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

Page 42: Base De Datos I

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

Page 43: Base De Datos I

43