laboratorio de informix - principalcs.uns.edu.ar/~gis/ebd/archivos/clases...
TRANSCRIPT
Qué es una base de datos
Es una colección de datos relacionados que sirven de múltiples propósitos y soportan múltiples usuarios.
Sistemas de archivos convencionales
DesventajasDatos redundantesProblemas de integridadCompartir datos en forma limitadaRestricciones en la disponibilidad de datosDificultad en el manejo de datos
Base de datos relacionales
VentajasReduce los datos redundantesAsegura la integridad de los datosSe ocupa de la seguridad de los datosPueden los datos ser accedidos concurrentemente por muchas personasSoporta datos compartidosSe adapta a los cambios fácilmente
Sistema de Manejo de Base de Datos Relacional
Un RDBMS es un sistema que integra los archivos de datos en una base de datos haciéndolos accesibles a toda la empresa
Base de datos
Servicios al Cliente
Ventas Finanzas
Recursos Humanos
Funcionalidad
El 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
La mayoría de las implementaciones cuentan con:
Concurrencia a nivel de usuario y a nivel transacciónTolerancia y recuperación contra fallosFacilidades para resguardo (Backup)
RDBMS Comerciales
Informix dinamyc server (Informix) Oracle database server (Oracle)DB2 (IBM)MySQL y PosgreSqlSQL ServerInterbawse (Borland)
Informix Dinamyc Server
IDS 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
Diseñador de la base de datos:Su función crear y administrar una base de datos
Administrador: (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
Programador de aplicación:Es el encargado de implementar un sistema basado en una base de datos.
Diseño de la Base de Datos
Estudio de factibilidadAnálisis de requerimientos funcionalesDiseño Codificación y TesteoImplementaciónMantenimientos
Diseño de la Bd
Diseño de la Base de Datos
Entender el problemaIdentificar los principales objetos de datosHacer el ERResolver el modelo lógicoDeterminar la especificación de los atributos y los tipos de datosInstanciar las relacionesVerificar el modelo lógico a través de la normalizaciónUsar SQL para transformar el modelo lógico en modelo físico
Diseño de la Base de Datos
Entender el problemaAlquiler de videos
Identificar los primeros objetos de datosEntidades (videos,cliente)Relaciones(alquiler)⌧Ver cardinalidad
Identificar Atributos⌧Determinar claves⌧Datos derivados
Diseño de la Base de Datos
Hacer el ER
Clientes
Videos
Alquila
Número
Apellido
Nombre
Fec AlquilerFec Devol.
Nombre Pelicula
Número
Tipo
Fecha Adquisicion
Diseño de la base de datos
Resolver el modelo LógicoResolver las relacionesCliente(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
Especificación de los atributos y tipos de datos
Establecer convencionesVer valores que van a asumir los atributos⌧Clasificación en video podría resolverse como una
entidad
Identificar atributos no nulosIdentificar atributos únicosDeterminar el tipo de datos de cada atributo
Tipo de datos en Informix
CharacterNumeric
⌧Integer, SmallInt⌧Float,SmallFloat⌧Decimal
SerialDateMoney
Ejemplos de tablasClienteNumero Apellido Nombre Dirección Tel
1 Perez Juan 12 de Octubre 666662 Juarez Pedro 11 de Abril 888883 Alvarez Luis Corrientes 8899004 Perez Alberto Alem 23213
VideoNumero Video Codigo Clasificacion Nombre Pelicula Fecha Adquisicion
1 ATP Rey Leon 22/10/20012 ATP Barbie Cascanueces 18/12/20033 ATP Rey Leon 26/06/19904 ATP Aladin 08/09/19965 ATP Cenicienta 12/12/20026 ATP Pinocho 01/07/19927 ATP Aladin 28/02/2004
AlquilerNumero Alquiler Numero Cliente Numero Video Fecha Alquiler Fecha Devolu
1 1 1 05/10/2004 null2 1 2 05/10/2004 null3 2 3 05/10/2004 null4 3 4 05/10/2004 null5 1 5 05/10/2004 null6 2 6 05/10/2004 null7 1 7 05/10/2004 null
Diseño de base de datos
NormalizaciónEstablecer dependencia funcionalesEn la relación video, vemos a titulo repetido por
cada copia del videoCódigo película Nombre películala relación no esta en 3FN
Normalizar las relaciones⌧Video⌧Película
Diseño del esquema de base de datos
Por ú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));
CREATE TABLE Clasificacion (Codigo_Clasificaci char(2) NOT NULL,Descripcion char(18) NOT NULL);
ALTER TABLE ClasificacionADD 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 ClienteADD CONSTRAINT PRIMARY KEY (Numero_Cliente);
Diseño del esquema de 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 CURRENTPRIMARY KEY (Numero_Alquiler));
Diseño del esquema de la base de datos
ALTER TABLE VideoADD CONSTRAINT FOREIGN KEY (Codigo_Pelicula)
REFERENCES Pelicula;ALTER TABLE Video
ADD CONSTRAINT FOREIGN KEY (Codigo_Clasificaci)REFERENCES Clasificacion;
ALTER TABLE AlquilerADD CONSTRAINT FOREIGN KEY (Numero_Video)
REFERENCES Video;ALTER TABLE Alquiler
ADD CONSTRAINT FOREIGN KEY (Numero_Cliente)REFERENCES Cliente;
Diseño del esquema de la base de datos
Modelo lógico vs físico
FilaInstancia de entidades
Restricciones de clave primaria y foránea
RelacionesColumnasAtributosTablasEntidadesEsquema de bdER del modelo
Dbacces
Es 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 dbCrear, modificar y borrar tablasCargar archivos de datos del sistema operativoCargar,modificar y recuperar información de la base de datosCrear y borrar índices y privilegiosCrear y ejecutar stored proceduresObtener 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 crear una nueva sql
Ejecuta una sql
Permiten modificar o editar una sql
Permite seleccionar o guardar o borrar
una sqlRedirecciona la salida de una sqlEjecuta una sql
Menú Información de Tablas
ColumnasIndicesPrivilegiosReferencias
Lista de tablas que la referencian
EstadoRestricciones
Lista de tablas referencia,clave primaria,restricciones de chequeos y de unicidad y borrados en cascadas
TriggersFragmentos
Dbschema
Muestra las sentencias sql para replicar una db.
dbschema -d video
Redirecciona la salida a un archivodbschema -d video video.sql
Pasos para conectarse al servidor de base de datos
En la máquina localLoguearse en con el usuarios ebd con su respectivopasswd.Abrir una consola En la linea de comando ejecutar
telnet tulkas login grupo1 y su respectivo pass
En el servidor Cada grupo tiene su base de datos creada y solo tiene permiso para
acceder a ellaDesde la línea de comandos ejecutar dbacces y conectarse a su
propia base de datos
En la máquina localUsar un editor de texto para escribir las sentencias sql. Luego pintar y copiar la consulta sobre el dbaccess conectado al servidor.
Si las consultas la traes en un archivo de texto en un diskette:En las Sun con Solaris ⌧Para montar el diskette usar el file manager, open floppy⌧Clickear sobre el archivo y editar.⌧Desmotar y ejectar el diskette.
En las Pc con Linux⌧Para montar el diskette hacer en la linea de comandos
• mount /dev/fd0• Clickear sobre el archivo que esta en /mnt/floppy• Desmontar el diskete haciendo desde la línea de comandos
umount /dev/fd0
Importante, no sacar el diskette sin desmontar previamente.