490 likes | 736 Views
BASE DE DATOS I. ESCUELA :. CIENCIAS DE LA COMPUTACIÓN. ING. AUDREY ROMERO. PONENTE :. I BIMESTRE. BIMESTRE :. ABRIL – AGOSTO 2007. CICLO :. Objetivo General.
E N D
BASE DE DATOS I ESCUELA: CIENCIAS DE LA COMPUTACIÓN ING. AUDREY ROMERO PONENTE: I BIMESTRE BIMESTRE: ABRIL – AGOSTO 2007 CICLO:
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.
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”
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
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.
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.
Sistemas 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.
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
Sistemas basados en archivos Ejemplo: En un banco que tiene aplicativos basados en archivos un cliente apertura una cuenta y luego solicita un crédito.
Sistemas de gestión de base de datos • BD es una colección de datos relacionados. • SGBD software que gestiona y controla el acceso a la BD. • Aplicació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
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.
PUENTE • Componentes de un entorno SGBD
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
Desventajas SGBD • Complejidad • Tamaño • Coste de SGBD • Coste de hardware adicional • Costes de conversión de hardware • Prestaciones • Mayor impacto a fallos
Interactividad 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.
MODELO RELACIONAL TEMA 2
Modelo relacional • Trabaja con relaciones, atributos y tuplas. • Su fortaleza la estructura lógica simple.
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
Claves relacionales • Superclave, atributo(s) que identifica(n) unívocamente cada tupla de la relación. • Clavecandidata, superclave que no contiene atributos adicionales innecesarios. • Claveprincipal, la clave candidata seleccionada para identificar unívocamente una relación. • Claveexterna/ajena, atributo de R1 que se corresponde con la clave candidata de R2.
Restricciones de integridad Modelo Relacional • Valores nulos • Integridad de entidad • Integridad referencial • Restricciones generales de usuario
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.
Identifique: • Las relaciones • Los atributos • Claves principales (integridad de entidades) • Claves candidatas • Superclave • Clave Externa (integridad referencial) • Grado • Cardinalidad • Dominios
ALGEBRA RELACIONAL TEMA 3
Algebra Relacional Lenguaje procedimental con operaciones que se aplican a una o más relaciones.
Trabajaremos con dos tablas LIBRO (idlibro, titulo, idautor, editorial) AUTOR (idautor, autor)
Operaciones fundamentales • Selección, selecciona tuplas que satisfacen una condición. Ejemplo: Seleccione los libros de la editorial Ra-Ma. editorial = “Ra-Ma” (libro) <condicion>(<nombretabla>)
Proyección, identifica atributos/columnas para presentar. Ejemplo: Muestre los titulos con su editorial de los libros existentes. libro, autor(libro) <atributo>(<nombretabla>)
Producto Cartesiano, combina/multiplica todas las tuplas entre tablas. Ejemplo: Realice el producto carteciano entre libro y autor. • (libro x autor) (<nombretabla1> x <nombretabla2>)
Producto Natural, combina/multiplica todas las tuplas iguales en las tablas implicadas. Ejemplo: Realice el producto natural entre libro y autor. (libro autor) libro.autorid = autor.autorid (<nombretabla1> <nombretabla2>)
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=“Alfaomega” (libro)) (<nombretabla1 <nombretabla2>)
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)) (autorid=“A2”(libro)) (<nombretabla1) (<nombretabla2>)
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)) – ( autorid= A2 (libro)) (<nombretabla1> - <nombretabla2>)
Operaciones de conjuntos • Diferencia, obtiene los datos que se encuentran en la tabla1 pero no en la tabla2 (<nombretabla1>) - (<nombretabla2>) (editorial=“Ra-Ma”(libro)) - ( autor=“Jesús C.” (libro))
MANIPULACION DE DATOS TEMA 4
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: SELECT, INSERT • SELECT, para consultar datos SELECT atributo1, …. n FROM nombretabla [alias] [WHERE condicion] [ORDER BY] atributos [GROUP BY] atributos • INSERT, para insertar datos INSERT INTO <nombretabla> (atributo1,…n) VALUES (valor1, …n)
UPDATE, para actualizar datos UPDATE <nombretabla> [SET atributo1 = valor1] WHERE <condicion> • DELETE, para borrar datos DELETE FROM <nombretabla> [WHERE <condicion>]
Consultas simples Las 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, codAutor FROM libro WHERE editorial = “Rama” • Ordenación de resultados SELECT código, titulo, codAutor FROM libro ORDER BY titulo
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, autor FROM libro, autor WHERE libro.codAutor= autor.CodAutor
DEFINICION DE DATOS TEMA 5
Tipos de datos Numérico NUMERIC INTEGER Decimal FLOAT DOUBLE Carácter CHAR VARCHAR Fecha DATE • Características de mejora de integridad • Datos requeridos, algunos atributos deben tener obligatoriamente un valor (NOT NULL) • Restricciones de dominio, algunos atributos deben contener sólo ciertos valores (CHECK) • Integridad de entidades (PRIMARY KEY) • Integridad referencial (FOREIGN KEY)
Crear una tabla CREATE TABLE nombreTabla { {<Atributo><tipodato> [NOT NULL] [PRIMARY KEY] [CHECK <condicion>] } [PRIMARY KEY (atributo (S)] [FOREIGN KEY (clave externa) REFERENCES <tablaPadre> (clave candidata)] }
Modificar una tabla ALTER TABLE nombreTabla [ ADD COLUMN <Atributo><tipodato> [NOT NULL]] • Eliminar una tabla DROP TABLE nombreTabla
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, …