390 likes | 578 Views
Laboratorio de Informix. Octubre 2004. Qué es una base de datos. a Es una colección de datos relacionados que sirven de múltiples propósitos y soportan múltiples usuarios. Sistemas de archivos convencionales. a Desventajas ` Datos redundantes ` Problemas de integridad
E N D
Laboratorio de Informix Octubre 2004
Qué es una base de datos aEs una colección de datos relacionados que sirven de múltiples propósitos y soportan múltiples usuarios.
Sistemas de archivos convencionales aDesventajas `Datos redundantes `Problemas de integridad `Compartir datos en forma limitada `Restricciones en la disponibilidad de datos `Dificultad en el manejo de datos
Base de datos relacionales aVentajas `Reduce los datos redundantes `Asegura la integridad de los datos `Se ocupa de la seguridad de los datos `Pueden los datos ser accedidos concurrentemente por muchas personas `Soporta datos compartidos `Se adapta a los cambios fácilmente
Sistema de Manejo de Base de Datos Relacional aUn RDBMS es un sistema que integra los archivos de datos en una base de datos haciéndolos accesibles a toda la empresa Recursos Humanos Servicios al Cliente Base de datos Ventas Finanzas
Funcionalidad aEl motor de base de datos es el encargado de las siguientes prestaciones `Almacenamientos , organización y distribución eficiente y segura de los datos `Implementación de un lenguaje de consulta (SQL) `Implementación de control de acceso de usuarios
Características Generales aLa mayoría de las implementaciones cuentan con: `Concurrencia a nivel de usuario y a nivel transacción `Tolerancia y recuperación contra fallos `Facilidades para resguardo (Backup)
RDBMS Comerciales aInformix dinamyc server (Informix) aOracle database server (Oracle) aDB2 (IBM) aMySQL y PosgreSql aSQL Server aInterbawse (Borland)
Informix Dinamyc Server aIDS es un motor de base de datos multiusuario basado en una arquitectura de comunicación cliente-servidor. Posee versiones basadas en distintos sistemas operativos. Tiene paquetes adicionales que le permiten tener una base de datos distribuidas, replicar los datos en línea y una introducción a las bases de datos orientadas a objetos
Usuarios de la Base de Datos aDiseñador de la base de datos: ` Su función crear y administrar una base de datos aAdministrador: (dba) `Cuya funciones son: _Realizar la instalación y administración del motor de base de datos _Hacer los resguardos _Mantener los usuarios _Administrar el espacio físico aProgramador de aplicación: ` Es el encargado de implementar un sistema basado en una base de datos.
Diseño de la Base de Datos aEstudio de factibilidad aAnálisis de requerimientos funcionales aDiseño Diseño de la Bd aCodificación y Testeo aImplementación aMantenimientos
Diseño de la Base de Datos aEntender el problema aIdentificar los principales objetos de datos aHacer el ER aResolver el modelo lógico aDeterminar la especificación de los atributos y los tipos de datos aInstanciar las relaciones aVerificar el modelo lógico a través de la normalización aUsar SQL para transformar el modelo lógico en modelo físico
Diseño de la Base de Datos aEntender el problema `Alquiler de videos aIdentificar los primeros objetos de datos `Entidades (videos,cliente) `Relaciones(alquiler) _Ver cardinalidad `Identificar Atributos _Determinar claves _Datos derivados
Diseño de la Base de Datos aHacer el ER Número Apellido Clientes Nombre Alquila Fec Devol. Fec Alquiler Videos Tipo Número Nombre Pelicula Fecha Adquisicion
Diseño de la base de datos aResolver el modelo Lógico `Resolver las relaciones Cliente(Número,Apellido,Nombre) Alquiler(Número,Número Video,Fec. alquiler,Fec. devolucion) Video(Numero Video,Nombre Pelicula,Fecha Adquisicion) `Establecer la clave primaria _En cliente número _En video número Video _En alquiler número lquiler `Establecer las claves foráneas _En alquiler número de cliente y número de video
Diseño de la base de datos aEspecificación de los atributos y tipos de datos `Establecer convenciones `Ver valores que van a asumir los atributos _Clasificación en video podría resolverse como una entidad `Identificar atributos no nulos `Identificar atributos únicos `Determinar el tipo de datos de cada atributo
Tipo de datos en Informix aCharacter aNumeric _Integer, SmallInt _Float,SmallFloat _Decimal aSerial aDate aMoney
Tipo de datos en Informix aDate aDatetime aInterval aLongitud Variable `Varchar `Blob _Text _byte
Ejemplos de tablas Cliente Numero Apellido Nombre Dirección Tel 1 Perez Juan 12 de Octubre 66666 2 Juarez Pedro 11 de Abril 88888 3 Alvarez Luis Corrientes 889900 4 Perez Alberto Alem 23213 Video Numero Video Codigo Clasificacion Nombre Pelicula Fecha Adquisicion 1 ATP Rey Leon 22/10/2001 2 ATP Barbie Cascanueces 18/12/2003 3 ATP Rey Leon 26/06/1990 4 ATP Aladin 08/09/1996 5 ATP Cenicienta 12/12/2002 6 ATP Pinocho 01/07/1992 7 ATP Aladin 28/02/2004 Alquiler Numero Alquiler Numero Cliente Numero Video Fecha Alquiler Fecha Devolu 1 1 1 05/10/2004 null 2 1 2 05/10/2004 null 3 2 3 05/10/2004 null 4 3 4 05/10/2004 null 5 1 5 05/10/2004 null 6 2 6 05/10/2004 null 7 1 7 05/10/2004 null
Diseño de base de datos aNormalización `Establecer dependencia funcionales En la relación video, vemos a titulo repetido por cada copia del video Código película Nombre película la relación no esta en 3FN `Normalizarlasrelaciones _Video _Película
Diseño del esquema de base de datos aPor último usar sentencias SQL para transformar el modelo físico en el esquema de la base de datos. CREATE TABLE Pelicula ( Codigo_Pelicula serial NOT NULL, Nombre_Pelicula varchar(20) PRIMARY KEY (Codigo_Pelicula));
Diseño del esquema de base de datos CREATE TABLE Clasificacion ( Codigo_Clasificaci char(2) NOT NULL, Descripcion char(18) NOT NULL); ALTER TABLE Clasificacion ADD CONSTRAINT PRIMARY KEY (Codigo_Clasificaci); CREATE TABLE Cliente ( Numero_Cliente serial NOT NULL, Apellido varchar(50) NOT NULL, Nombre varchar(50) NOT NULL, Direccion varchar(50), Telefono varchar(20)); ALTER TABLE Cliente ADD CONSTRAINT PRIMARY KEY (Numero_Cliente);
Diseño del esquema de la base de datos CREATE TABLE Video ( Numero_Video serial NOT NULL, Codigo_Clasificaci char(2), Codigo_Pelicula integer, Fecha_Adquisicion date PRIMARY KEY (Numero_Video)); CREATE TABLE Alquiler ( Numero_Alquiler serial NOT NULL, Numero_Cliente integer, Numero_Video integer, Fecha_alquiler date DEFAULT CURRENT NOT NULL, Fecha_devolucion date DEFAULT CURRENT PRIMARY KEY (Numero_Alquiler));
Diseño del esquema de la base de datos ALTER TABLE Video ADD CONSTRAINT FOREIGN KEY (Codigo_Pelicula) REFERENCES Pelicula; ALTER TABLE Video ADD CONSTRAINT FOREIGN KEY (Codigo_Clasificaci) REFERENCES Clasificacion; ALTER TABLE Alquiler ADD CONSTRAINT FOREIGN KEY (Numero_Video) REFERENCES Video; ALTER TABLE Alquiler ADD CONSTRAINT FOREIGN KEY (Numero_Cliente) REFERENCES Cliente;
Modelo lógico vs físico ER del modelo Esquema de bd Entidades Tablas Atributos Columnas Relaciones Restricciones de clave primaria y foránea Instancia de entidades Fila
Dbacces aEs un conjunto de facilidades de Informix que provee una manera de acceder a la base de datos sin una herramienta de desarrollo de aplicaciones `Crear y borrar db `Crear, modificar y borrar tablas `Cargar archivos de datos del sistema operativo `Cargar,modificar y recuperar información de la base de datos `Crear y borrar índices y privilegios `Crear y ejecutar stored procedures `Obtener información acerca de la base de datos y de las tablas
Dbacces Permite ejecutar SQL Permite conectarse a una db Permite seleccionar,crear o eliminar una db Permite modificar,crear o eliminar una tabla Información del servidor
Menu Query Language Permite seleccionar o guardar o borrar una sql Permite crear una nueva sql Redirecciona la salida de una sql Ejecuta una sql Permiten modificar o editar una sql
Menú de Conexión Conectarse a una db Desconectarse a una db
Menú de Base de Datos Seleccionar una db Crear una db Información una db Borrar una db
Menú para Tablas Crear una tabla Modificar una tabla Borrar una tabla Información de una tabla
Menú Información de Tablas a Columnas a Indices a Privilegios a Referencias `Lista de tablas que la referencian a Estado a Restricciones `Lista de tablas referencia,clave primaria,restricciones de chequeos y de unicidad y borrados en cascadas a Triggers a Fragmentos
Dbschema aMuestra las sentencias sql para replicar una db. `dbschema -d video aRedirecciona la salida a un archivo `dbschema -d video video.sql
Pasos para conectarse al servidor de base de datos aEn la máquina local Conectarse con Putty al Servidor Linux con suusuario y contraseña en el Linux. aEn el servidor Cadagrupotienesu base de datoscreada y solo tienepermisopara acceder a ella Desde la línea de comandosejecutardbacces y conectarse a su propia base de datos Ejs.: dbaccess o dbaccessmibase