Documente Academic
Documente Profesional
Documente Cultură
BASE DE DATOS
Una base de datos se define como un fichero en el cual se almacena informacin en campos o delimitadores, teniendo acceso a ella posteriormente tanto de forma separada como de forma conjunta. Se utiliza normalmente para recoger grandes cantidades de informacin. (Por ejemplo el listado de nombres y apellidos de los alumnos de varios cursos).
DBMS EN EL MERCADO
SQL tambin proporciona un tipo de datos llamado intervalo : permite realizar clculos basados en fechas, horas e intervalos. Por ejemplo, si x e y son del tipo date, entonces x-y ser un intervalo cuyo valor es el nmero de das desde la fecha x hasta la y. De forma anloga, al sumar o restar un intervalo de una fecha u hora, se obtendr como resultado otra fecha u hora, respectivamente. La coercin de tipos se usa normalmente en los lenguajes de programacin comunes, as como en los sistemas de bases de datos. Como ejemplo, supngase que el dominio de nombre-cliente es una cadena de caracteres de longitud 20 y que el dominio de nombre-sucursal es una cadena de caracteres de longitud 15. Aunque las longitudes de las cadenas de caracteres difieran, la norma SQL los considerar tipos compatibles. SQL permite incluir en la declaracin de dominio de un atributo la especificacin not null y de este modo se prohbe la insercin de un valor nulo para ese atributo. Un atributo se puede declarar para que no sea nulo de la forma siguiente: nmero-cuenta char(10) not null
DISEA EL MODELO E-R DE LA SIGUIENTE DEFINICION DE DATOS: PERSONA (ID_CONDUCTOR, NOMBRE, DIRECCION) COCHE (MATRICULA, AO, MODELO) ACCIDENTE (NUMERO_INFORME, FECHA, LUGAR) ES_DUEO (ID_CONDUCTOR, MATRICULA) PARTICIPO (ID_CONDUCTOR, COCHE, NUMERO_INFORME, IMPORTE_DAOS)
FECHA
NOMBRE DIRECCION
PERSONA
N
PARTICIPO
ACCIDENTE
LUGAR
N
ID_CONDUCTOR
ES_DUEO
N
COCHE
AO
MATRICULA MODELO
DISEA LAS SIGUIENTES CONSULTAS A. BUSCAR EL NUMERO TOTAL DE PERSONAS CUYOS COCHES SE HAN VISTO INVOLUCRADOS EN UN ACCIDENTE EN 1989 B. BUSCAR EL NUMERO DE ACCIDENTE EN LOS CUALES SE HA VISTO INVOLUCRADO UN COCHE PERTENECIENTE A SANTOS C. AADIR UN NUEVO ACCIDENTE A LA BD CON CUALQUIER VALOR D. BORRAR EL MAZDA DE SANTOS E. REALIZAR EL IMPORTE DE DAOS DEL COCHE DE MATRICULA 2002BCD EN EL ACCIDENTE CON NUMERO DE INFORME ARZ192 A $45,000
CUENTA EL NUMERO DE ACCIDENTES EN 1989 SELECT COUNT (ID_CONDUCTOR) FROM PARTICIPO NATURAL JOIN ACCIDENTES WHERE FECHA = 1989 TODOS LOS CONDUCTORES QUE PARTICIPARON EN ACCIDENTES EN 1989 SELECT DISTINC ID_CONDUCTOR FROM NATURAL JOIN ACCIDENTE WHERE FECHA =(1989)
EJERCICIOS DE LIBRO FUNDAMENTOS DE BASE DE DATOS 6.0 DISEA EL MODELO E-R DE LA SIGUIENTE DEFINICION DE DATOS: CREATE TABLE CLIENTE (NOMBRE_ CLIENTE CALLE_CLIENTE CIUDAD_CLIENTE PRIMARY KEY
CREATE TABLE SUCURSAL (NOMBRE_ SUCURSAL CIUDAD_SUCURSAL ACTIVO PRIMARY KEY CHECK
CREATE TABLE CUENTA (NUMERO_CUENTA CHAR(10), NOMBRE_SUCURSAL CHAR(15), SALDO INTEGER, PRIMARY KEY (NUMERO_CUENTA), FOREIGN KEY (NOMBRE_SUCURSAL)REFERENCES SUCURSAL, CHECK (SALDO>=0)) CREATE TABLE IMPOSITOR (NOMBRE_ CLIENTE CHAR(20), NUMERO_CLIENTE CHAR(10), SALDO INTEGER, PRIMARY KEY (NUMERO_CUENTA, NOMBRE_CLIENTE), FOREIGN KEY (NOMBRE_CLIENTE)REFERENCES CLIENTES, FOREIGN KEY (NUMERO_CUENTA)REFERENCES CUENTA)
NOMBRE_CLIENTE CIUDAD_CLIENTE
CALLE_CLIENTE
CLIENTE
SUCURSAL_CUENTA
CIUDAD_SUCURSAL
IMPSITOR
SUCURSAL
ACTIVO
SALDO
CUENTA
NUMERO_CUENTA NOMBRE_SUCURSAL
NOMBRE_SUCURSAL
6.1 COMPLTESE LA DEFINICIN DEL LDD DE SQL DE LA BASE DE DATOS BANCARIA DE PRSTAMO Y PRESTATARIO. (CRETATE TABLE PRESTAMO NUMERO_PRESTAMO CHAR (10), NOMBRE_SUCURSAL CHAR (15), IMPORTE INTEGER, PRIMARY KEY (NUMERO_PRESTAMO), FOREIGN KEY (NOMBRE_SUCURSAL)REFERENCES SUCURSAL, CHECK (IMPORTE >0 )) (CRETATE TABLE PRESTATARIO NOMBRE_CLIENTE CHAR (30), NUMERO_PRESTAMO CHAR (10), PRIMARY KEY (NOMBRE_CLIENTE, NUMERO_PRESTAMO), FOREIGN KEY (NOMBRE_CLIENTE)REFERENCES CLIENTE, FOREIGN KEY (NUMERO_PRESTAMO)REFERENCES PRESTAMO)
ESTO INDICA QUE UN CLIENTE PUEDE TENER NINGUNA O VARIOS Y QUE UN PRESTAMO PUEDE SER HECHO A NINGUNO O VARIOS CLIENTES TENIENDO EN CUENTA QUE NO ES CORRECTO QUE NO HAYA UN CLIENTE PARA UN PRESTAMO. ELIMINANDO LA TABLA PRESTATARION Y MODIFICANDO LA TABLA PRESTAMO QUEDARIA:
(CRETATE TABLE PRESTAMO NUMERO_PRESTAMO CHAR (10), NOMBRE_SUCURSAL CHAR (15), NOMBRE_CLIENTE CHAR (30), IMPORTE INTEGER, PRIMARY KEY (NUMERO_PRESTAMO), FOREIGN KEY (NOMBRE_SUCURSAL)REFERENCES SUCURSAL, FOREIGN KEY (NOMBRE_CLIENTE)REFERENCES CLIENTE, CHECK (IMPORTE >0 ))