49
ESCUELA: PONENTE: BIMESTRE: BASE DE DATOS I CICLO: CIENCIAS DE LA COMPUTACIÓN I BIMESTRE ING. AUDREY ROMERO ABRIL – AGOSTO 2007

Base de Datos I (I Bimestre)

Embed Size (px)

DESCRIPTION

Universidad Técnica Particular de Loja Ciencias de la Computación Base de Datos I I Bimestre Abril - Agosto 2007 Ponente: Ing. Audrey Romero

Citation preview

Page 1: Base de Datos I (I Bimestre)

ESCUELA:

PONENTE:

BIMESTRE:

BASE DE DATOS I

CICLO:

CIENCIAS DE LA COMPUTACIÓN

I BIMESTRE

ING. AUDREY ROMERO

ABRIL – AGOSTO 2007

Page 2: Base de Datos I (I Bimestre)

Objetivo General

• Dotar al profesional en formación del marco conceptual, técnico y metodológico en diseño y desarrollo de SBD relacionales normalizados.

Page 3: Base de Datos I (I Bimestre)

Orientaciones Generales• Materiales

– Guía – Texto base

• ¿Cómo estudiar?– Técnicas de estudio – Organice su tiempo – “No deje para mañana lo que puede hacer HOY”

Page 4: Base de Datos I (I Bimestre)

Orientaciones Generales(2)• Apoyo tecnológico e interactividad EVA

– La interactividad y participación en los foros tiene una calificación de 2 puntos.

– Acceso desde www.utpl.edu.ec

Page 5: Base de Datos I (I Bimestre)

Objetivo General

• Dotar al profesional en formación del marco conceptual, técnico y metodológico en diseño y desarrollo de SBD relacionales normalizados.

Page 6: Base de Datos I (I Bimestre)

PRIMER BIMESTRE

Page 7: Base de Datos I (I Bimestre)

Objetivos• Conocer elementos conceptuales de BD y SGBD, sus

componentes, personal implicado, historia y usos comunes.• Analizar los componentes del entorno de BD.• Aplicar el modelo de datos relacional para representar datos

y destacar su importancia.• Contruir consultas a través de algebra relacional, SQL.

Page 8: Base de Datos I (I Bimestre)

Introducción a las Bases de datos

TEMA 1

Page 9: Base de Datos I (I Bimestre)

• 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.– Problemas significativos:

• Redundancia de datos• Dependencia entre programas y datos.

Page 10: Base de Datos I (I Bimestre)

• 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

Page 11: Base de Datos I (I Bimestre)

• Sistemas basados en archivosEjemplo: En un banco que tiene aplicativos basados en archivos

un cliente apertura una cuenta y luego solicita un crédito.

Page 12: Base de Datos I (I Bimestre)

• Sistemas de gestión de base de datosSistemas de gestión de base de datos– BDBD es una colección de datos relacionados.– SGBDSGBD software que gestiona y controla el acceso a la BD.– Aplicación BDAplicación BD programa que interactúa con BD.El SGBD interactúa con las aplicaciones y BD.– Compras en el supermercado– Depósito en el banco– Reserva en un hotel

Page 13: Base de Datos I (I Bimestre)

• Un SGBD normalmente:– Permite a los usuarios definir la BD mediante DDL y

manipular la BD mediante DML.– Proporciona acceso controlado a la BD.– Proporciona un catálogo que contiene descripciones de

la BD.

Page 14: Base de Datos I (I Bimestre)

• Componentes de un entorno SGBD

PUENTE

Page 15: Base de Datos I (I Bimestre)

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

Page 16: Base de Datos I (I Bimestre)

Desventajas SGBD• Complejidad • Tamaño• Coste de SGBD• Coste de hardware adicional • Costes de conversión de hardware• Prestaciones• Mayor impacto a fallos

Page 17: Base de Datos I (I Bimestre)

• Interactividad en el campus virtualInteractividad en el campus virtual– Describir los usos de las bases de datos, evitando

repetir el tipo de aplicación si otro participante ya lo ha descrito.

– Consulte y comparta a través del foro sobre los SGDB orientados a objetos y los objeto – relacionales.

Page 18: Base de Datos I (I Bimestre)

MODELO RELACIONAL

TEMA 2

Page 19: Base de Datos I (I Bimestre)

• Modelo relacional– Trabaja con relaciones, atributos y tuplas. – Su fortaleza la estructura lógica simple.

Page 20: Base de Datos I (I Bimestre)

Estructura Concepto

Relación Tabla con columnas y filas

Atributo Columna nominada de una relación

Dominio Conjunto de valores permitidos para uno o más atributos

Tupla Una tupla es un fila de una relación.

Grado Número de atributos que contiene

Cardinalidad Número de tuplas que contiene

BD Relacional

Colección de relaciones normalizadas donde cada relación tiene un nombre distintivo.

Page 21: Base de Datos I (I Bimestre)

• Propiedades de las relaciones– Nombres distintos– 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

Page 22: Base de Datos I (I Bimestre)

• 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.

Page 23: Base de Datos I (I Bimestre)

• Restricciones de integridad Modelo Relacional– Valores nulos – Integridad de entidad– Integridad referencial– Restricciones generales de usuario

Page 24: Base de Datos I (I Bimestre)

• EJEMPLO– La información sobre sucursales se la representará por la

relación BRANCH, que tiene las columnas para los atributos branchNo, street, city, post code.

– Además se tiene información de empleados en la relación STAFF con columnas para los atributos staffNo, fName, lname, position, sex, DOB, salary, y BranchNo.

Page 25: Base de Datos I (I Bimestre)

• Identifique:– Las relaciones – Los atributos – Claves principales (integridad de entidades)– Claves candidatas– Superclave – Clave Externa (integridad referencial)– Grado – Cardinalidad – Dominios

Page 26: Base de Datos I (I Bimestre)
Page 27: Base de Datos I (I Bimestre)
Page 28: Base de Datos I (I Bimestre)

ALGEBRA RELACIONAL

TEMA 3

Page 29: Base de Datos I (I Bimestre)

• Algebra Relacional

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

Page 30: Base de Datos I (I Bimestre)

• Trabajaremos con dos tablas LIBRO (idlibro, titulo, idautor, editorial)LIBRO (idlibro, titulo, idautor, editorial) AUTOR (idautor, autor)AUTOR (idautor, autor)

Page 31: Base de Datos I (I Bimestre)

• Operaciones fundamentales – SelecciónSelección, selecciona tuplas que satisfacen una

condición.

Ejemplo: Seleccione los libros de la editorial Ra-Ma.

editorial = “Ra-Ma” (libro)editorial = “Ra-Ma” (libro)

<condicion>(<nombretabla>)<condicion>(<nombretabla>)

Page 32: Base de Datos I (I Bimestre)

– ProyecciónProyección, identifica atributos/columnas para presentar.

Ejemplo:Muestre los titulos con su editorial de los

libros existentes. libro, autorlibro, autor (libro)(libro)

<atributo><atributo> (<nombretabla>)(<nombretabla>)

Page 33: Base de Datos I (I Bimestre)

– Producto CartesianoProducto Cartesiano, combina/multiplica todas las tuplas entre tablas.

Ejemplo:Realice el producto carteciano entre libro y autor.

(libro x autor)

(<nombretabla1> (<nombretabla1> x x <nombretabla2>)<nombretabla2>)

Page 34: Base de Datos I (I Bimestre)

– Producto NaturalProducto Natural, combina/multiplica todas las tuplas iguales en las tablas implicadas.

Ejemplo:Realice el producto natural entre libro y autor.

(libro (libro autor)autor) libro.autorid = autor.autoridlibro.autorid = autor.autorid

(<nombretabla1> (<nombretabla1> <nombretabla2>)<nombretabla2>)

Page 35: Base de Datos I (I Bimestre)

– Unión, combina todas las tuplas de la tabla1 y la tabla2 eliminando las filas repetidas.

Ejemplo:Realice la unión de los libros de la editorial Ra-Ma

y los de la editorial Alfaomega((editorial=“Ra-Ma”(libro))editorial=“Ra-Ma”(libro))((editorial=“Alfaomega” (libro))editorial=“Alfaomega” (libro))

(<nombretabla1 (<nombretabla1 <nombretabla2 <nombretabla2>>))

Page 36: Base de Datos I (I Bimestre)

– Intersección, obtiene las tuplas comunes entre la tabla1 y la tabla2.

Ejemplo:Realice la intersección de los libros de la editorial

Andrés Bello con los libros de A2((editorial =“Editorial Andrés Bello”(libro)) editorial =“Editorial Andrés Bello”(libro))

((autorid=“A2”(libro)) autorid=“A2”(libro))

(<nombretabla1) (<nombretabla1) (<nombretabla2 (<nombretabla2>>))

Page 37: Base de Datos I (I Bimestre)

– Diferencia, Diferencia, obtiene los datos que encuentran en la tabla1 pero no en la tabla2

Ejemplo:Realice la diferencia de libros de la editorial Andrés Bello

excepto los libros de A2((editorial=“Editorial Andrés Bello”(libro)) – editorial=“Editorial Andrés Bello”(libro)) –

(( autorid= A2 (libro)) autorid= A2 (libro))

(<nombretabla1> - <nombretabla2>)(<nombretabla1> - <nombretabla2>)

Page 38: Base de Datos I (I Bimestre)

• Operaciones de conjuntos– Diferencia, Diferencia, obtiene los datos que se encuentran

en la tabla1 pero no en la tabla2 (<nombretabla1>) - (<nombretabla2>)(<nombretabla1>) - (<nombretabla2>)

((editorial=“Ra-Ma”(libro)) - (editorial=“Ra-Ma”(libro)) - ( autor=“Jesús C.” (libro)) autor=“Jesús C.” (libro))

Page 39: Base de Datos I (I Bimestre)

MANIPULACION DE DATOS

TEMA 4

Page 40: Base de Datos I (I Bimestre)

• 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.

Page 41: Base de Datos I (I Bimestre)

• 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)

Page 42: Base de Datos I (I Bimestre)

– UPDATE, para actualizar datosUPDATE <nombretabla>UPDATE <nombretabla>[SET atributo1 = valor1][SET atributo1 = valor1]WHERE <condicion>WHERE <condicion>

– DELETE, para borrar datosDELETE FROM <nombretabla>DELETE FROM <nombretabla>[WHERE <condicion>][WHERE <condicion>]

Page 43: Base de Datos I (I Bimestre)

• 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.

SELECT código, titulo, codAutorSELECT código, titulo, codAutorFROM libroFROM libroWHERE editorial = “Rama”WHERE editorial = “Rama”

• Ordenación de resultadosSELECT código, titulo, codAutorSELECT código, titulo, codAutorFROM libroFROM libroORDER BY tituloORDER BY titulo

Page 44: Base de Datos I (I Bimestre)

• Consultas de varias tablas• Permite combinar varias tablas (join)

– FROM: incluir las tablas separadas con ,– WHERE: especificar las columnas de la

combinación.SELECT código, titulo, autorSELECT código, titulo, autorFROM libro, autorFROM libro, autorWHERE libro.codAutor= autor.CodAutorWHERE libro.codAutor= autor.CodAutor

Page 45: Base de Datos I (I Bimestre)

DEFINICION DE DATOS

TEMA 5

Page 46: Base de Datos I (I Bimestre)

• Tipos de datos NuméricoNumérico NUMERIC NUMERIC INTEGERINTEGERDecimal Decimal FLOATFLOAT DOUBLEDOUBLECarácterCarácter CHARCHAR VARCHARVARCHARFechaFecha DATEDATE

• 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)

Page 47: Base de Datos I (I Bimestre)

• Crear una tabla

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)] }}

Page 48: Base de Datos I (I Bimestre)

• Modificar una tabla

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 49: Base de Datos I (I Bimestre)

• 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, …

GRANT {privilegios}

ON nombreTabla

REVOKE {privilegios}

ON nombreTabla