laboratorio de informix - principalcs.uns.edu.ar/~gis/ebd/archivos/clases...

40
Laboratorio de Informix Octubre 2004

Upload: leduong

Post on 19-May-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Laboratorio de Informix

Octubre 2004

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

Modelo lógico de la base de datos

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

Tipo de datos en Informix

DateDatetimeIntervalLongitud Variable

VarcharBlob⌧Text⌧byte

Modelo Físico de la base de datos

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 físco de la base de datos final

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ú de Conexión

Conectarse a una db

Desconectarse a una db

Menú Servidor de Datos

Menú de Base de Datos

Seleccionar una db

Crearuna db

Informaciónuna db Borrar una db

Menú para Tablas

Crear una tabla

Información de una tabla

Borrar una tablaModificar una tabla

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

Sesión

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.