Taller de base de datos www.laesa.com.ar Taller de Base de datos Tabla de contenido MODELO RELACIONAL DE MUSICA ......................................................................................... 3 SCRIPT DE MUSICA ....................................................................................................................................... 4 DICCIONARIO DE DATOS .............................................................................................................................. 8 MODELO RELACIONAL DE CANASTA ................................................................................... 12 SCRIPT DE CANASTA .................................................................................................................................. 13 DICCIONARIO DE DATOS ............................................................................................................................ 16 MODELO RELACIONAL DE INMUEBLE ................................................................................ 19 SCRIPT DE INMUEBLE ................................................................................................................................. 20 DICCIONARIO DE DATOS ............................................................................................................................ 24 Taller de base de datos Página 2 Taller de Base de datos MODELO RELACIONAL DE MUSICA Taller de base de datos Página 3 Taller de Base de datos SCRIPT DE MUSICA create database primera use primera create table usuario( login1 varchar(15)primary key, password varchar(30)not null, fecha_creacion datetime ) create table emails( login1 varchar(15) not null, email varchar(40)not null, CONSTRAINT PK_log_email primary key(login1,email), CONSTRAINT FK_usuario foreign key(login1) references usuario(login1) on delete cascade on update cascade ) create table lista_musica( cve_lista int primary key, nombre varchar(20)not null, duracion_total float not null, Taller de base de datos Página 4 Taller de Base de datos login1 varchar(15)not null, CONSTRAINT FK_usuario1 foreign key(login1) references usuario(login1) on delete cascade on update cascade ) create table cancion( cve_cancion int primary key, nombre varchar(20)not null, duracion float not null, login1 varchar(15)not null, CONSTRAINT FK_usuario2 foreign key(login1) references usuario(login1) on delete cascade on update cascade ) create table contiene( cve_cancion int not null, cve_lista int not null, CONSTRAINT PK_cancion_lista primary key(cve_cancion,cve_lista), CONSTRAINT FK_cancion foreign key(cve_cancion) references cancion(cve_cancion) on delete no action on update no action, CONSTRAINT FK_lista_musica foreign key(cve_lista) references lista_musica(cve_lista) on delete no action on update no action Taller de base de datos Página 5 Taller de Base de datos ) create table discos( cve_cancion int not null, cve_lista int not null, disco varchar(40)not null, CONSTRAINT PK_can_list primary key(cve_cancion,cve_lista), CONSTRAINT FK_contiene foreign key(cve_cancion,cve_lista) references contiene(cve_cancion,cve_lista) on delete no action on update no action ) create table pais( cve_pais int primary key, nombre varchar(20)not null ) create table cantante( cve_cantante int primary key, nombre_artistico varchar(30)not null, nombre varchar(20)not null, apellidos varchar(50)not null, cve_pais int not null, CONSTRAINT FK_pais foreign key(cve_pais) references pais(cve_pais) Taller de base de datos Página 6 Taller de Base de datos on delete cascade on update cascade ) create table interpreta ( cve_cancion int not null, cve_cantante int not null, CONSTRAINT PK_cancion_cantante primary key(cve_cancion,cve_cantante), CONSTRAINT FK_cancion1 foreign key(cve_cancion) references cancion(cve_cancion) on delete cascade on update cascade, CONSTRAINT FK_cantante foreign key(cve_cantante) references cantante(cve_cantante) on delete cascade on update cascade ) Taller de base de datos Página 7 Taller de Base de datos DICCIONARIO DE DATOS Usuario Atributo Tipo Contenido Formato Null Key Login Varchar(15) Login 0-9, A-Z No PK Password Varchar(30) Contraseña 0-9, A-Z No Fecha_cracion Datetime Fecha 0-9, A-Z No FK requerida a tabla Emails Atributo Tipo Contenido Formato Null Key FK requerida a tabla Login Varchar(15) Login 0-9, A-Z No FK Usuario Email Varchar(40) Correo Electrónico 0-9, A-Z No PK Lista_musica Atributo Tipo Contenido Formato Null Key FK requerida a tabla Cve_lista Integer Clave de la lista 0-9 No Nombre Varchar(20) Nombre de la lista A-Z No Taller de base de datos PK Página 8 Taller de Base de datos Duracion_total Float Duración de la lista 0-9 NO Login Login 0-9, A-Z No Varchar(15) FK Usuario Canción Atributo Tipo Contenido Formato Null Key FK requerida a tabla Cve_cancion Integer Clave de la canción 0-9 No PK Nombre Varchar(20) Nombre de la canción A-Z No Duración Float Duración de la canción o-9 No Login Varchar(15) Login 0-9, A-Z No FK Usuario Contiene Atributo Tipo Contenido Formato Null Key FK requerida a tabla Cve_cancion Integer Clave de la canción 0-9 No PKFK Canción Cve_lista Integer Clave de la lista 0-9 No PKFK Lista_musica Discos Atributo Tipo Contenido Formato Null Key FK requerida a tabla Cve_cancion Integer Clave de la canción 0-9 No PKFK Contiene Taller de base de datos Página 9 Taller de Base de datos Cve_lista Integer Clave de la lista 0-9 No PKFK Disco Varchar(40) Nombre del disco A-Z no PK Contiene Interpreta Atributo Tipo Contenido Formato Null Key FK requerida a tabla Cve_cancion Integer Clave de la canción 0-9 No PKFK Canción Cve_cantante Integer Clave del cantante 0-9 No PKFK Cantante FK requerida a tabla País Atributo Tipo Contenido Formato Null Key Cve_pais Integer Clave del país 0-9 No PK Nombre Varchar(20) Nombre del país A-Z No Cantante Atributo Tipo Taller de base de datos Contenid o Format o Nul l Ke y FK requerid a a tabla Página 10 Taller de Base de datos Cve_cancion Integer Clave de la canción 0-9 No Nombre_artistic o Varchar(20 ) Nombre artístico del cantante A-Z No Nombre Varchar(20 ) Nombre del cantante A-Z No Apellidos Varchar(50 ) Apellidos del cantante A-Z No Cve_pais Integer Clave del país 0-9 No Taller de base de datos PK FK País Página 11 Taller de Base de datos MODELO RELACIONAL DE CANASTA Taller de base de datos Página 12 Taller de Base de datos SCRIPT DE CANASTA create database practica2 use practica2 create table clientes( RFC int primary key, nombre_cliente varchar(20)not null, paterno_cliente varchar(20)not null, materno_cliente varchar(20)not null, direccion varchar(30)not null, telefono varchar(20)not null, correo varchar(40)unique not null ) create table canastas( id_canasta int primary key, fecha_creacion datetime, fecha_pago datetime, total_canasta money, RFC int not null, constraint fk_clientes foreign key(RFC) references clientes(RFC) Taller de base de datos Página 13 Taller de Base de datos on delete cascade on update cascade ) create table proveedores( RFC_proveedor int primary key, nombre_proveedor varchar(30)not null, direccion_proveedor varchar(30)not null, forma_pago money, telefono_proveedor varchar(20)not null ) create table productos( id_producto int primary key, descripcion varchar(90)not null, precio_producto money, nombre_departamento varchar(30)not null, RFC_proveedor int not null, constraint fk_proveedores foreign key(RFC_proveedor) references proveedores(RFC_proveedor) ) create table asociado( id_producto int not null, id_prodasociado int not null, Taller de base de datos Página 14 Taller de Base de datos constraint pk_id_producto primary key(id_producto), constraint fk_productos foreign key(id_producto) references productos(id_producto), constraint fk_productos1 foreign key(id_prodasociado) references productos(id_producto) ) create table contiene( id_canasta int not null, id_producto int not null, cantidad_compra int not null, precio_compra money, constraint pk_canasta_producto primary key(id_canasta,id_producto), constraint fk_producto foreign key(id_producto) references productos(id_producto), constraint fk_canasta foreign key(id_canasta) references canastas(id_canasta) on delete cascade on update cascade ) Taller de base de datos Página 15 Taller de Base de datos DICCIONARIO DE DATOS Clientes Atributo Tipo Contenid o Format o Nul l Key Rfc Varchar(14) Rfc del cliente 0-9, A-Z No PK Nombre_Client e Varchar(30) Nombre del cliente A-Z No Paterno_cliente Varchar(30) Apellido paterno del cliente A-Z No Materno_cliente Varchar(30) Apellido A-Z materno del cliente No Dirección Varchar(50) Dirección del cliente 0-9, A-Z No Teléfono Varchar(20 ) Teléfono del cliente 0-9 No Correo Varchar(40 ) -Unique Correo del cliente 0-9, A-Z No FK requerid a a tabla Llave candidat a Canasta Atributo Tipo Contenido Formato Null Key FK requerida a tabla Rfc Varchar(14) Rfc del cliente 0-9, A-Z No FK Clientes Taller de base de datos Página 16 Taller de Base de datos Id_canasta Integer Id de la canasta 0-9 No Fecha_creacion Datetime Fecha de la creación 0-9 No Fecha_pago Datatime Fecha del pago 0-9 No Total_canasta Money Total de la canasta 0-9 No PK Contiene Atributo Tipo Contenido Formato Null Key FK requerida a tabla Id_canasta Integer Id de la canasta 0-9 No PK-FK Canasta Id_ producto Integer Id del producto 0-9 No PK-FK Producto Cantidad_compra ¿? Cantidad de la compra 0-9 No Precio_compra Precio de la compra 0-9 No Money Producto Atributo Tipo Contenido Formato Null Key Id_ producto Integer Id del producto 0-9 No PK Descripción Varchar(50) Descripción A-Z No Taller de base de datos FK requerida a tabla Página 17 Taller de Base de datos del producto Precio del producto 0-9 No Nombre_departamento Varchar(30) Nombre del departamento A-Z No Id_prodasociado Integer Id del producto asociado 0-9 no Rfc_proveedor Varchar(14) Rfc del proveedor 0-9, A-Z no Precio_producto Money FK Proveedores Proveedores Atributo Tipo Contenido Formato Null Key FK requerida a tabla Id_ producto Integer Id del producto 0-9 No FK Producto Rfc_proveedor Varchar(14) Rfc del proveedor 0-9, A-Z no PK Nombre_proveedor Varchar(20) Nombre del proveedor A-Z No Forma_pago Varchar(20) Forma del pago A-Z No Tel_proveedor Varchar(20) Teléfono del proveedor 0-9 No Taller de base de datos Página 18 Taller de Base de datos MODELO RELACIONAL DE INMUEBLE Titular (rfc, nombre, código_ag) Agencia (código_ag, fax, dirección, teléfono, zona) Vendedor (rfc, nombre) Inmueble (código_in, código_ag, rfc_v, dirección, superficie, porc_comision, propietario, precio_venta, fianza, precio_alquiler) Comercial (código_in, rfc, licencia, fecha_inicio, fecha_termino) Casa (rfc, int_ext, n_banos, gas, n_hab, fecha_venta, código_in) Clientes (rfc, nombre, dirección, teléfono) Taller de base de datos Página 19 Taller de Base de datos SCRIPT DE INMUEBLE create database inmuebles use inmuebles create table agencia( codigo_ag int primary key, fax varchar(30)not null, direccion varchar(50)not null, telefono varchar(20)not null, zona varchar(20) not null ) create table titular( rfc int primary key, nombre varchar(40)not null, codigo_ag int not null, CONSTRAINT FK_agencia foreign key(codigo_ag) references agencia(codigo_ag) on delete cascade on update cascade ) create table vendedor( rfc varchar(14) primary key, nombre varchar(40)not null, Taller de base de datos Página 20 Taller de Base de datos ) create table inmueble( codigo_in int primary key, codigo_ag int not null, rfc_v varchar(14)not null, direccion varchar(50)not null, superficie float not null, porc_comision money not null, propietario varchar(30)not null, precio_venta money not null, fianza money not null, precio_alquiler money not null, CONSTRAINT FK_agencia2 foreign key(codigo_ag) references agencia(codigo_ag) on delete cascade on update cascade, CONSTRAINT FK_vendedor foreign key(rfc_v) references vendedor(rfc) on delete cascade on update cascade ) create table clientes( rfc varchar(14) primary key, nombre varchar(30)not null, direccion varchar(50)not null, Taller de base de datos Página 21 Taller de Base de datos telefono varchar(20)not null ) create table comercial( codigo_in int not null, rfc varchar(14)not null, licencia varchar(30)not null, fecha_inicio datetime, fecha_termino datetime CONSTRAINT PK_codigo_rfc primary key(codigo_in,rfc) CONSTRAINT FK_codigo_in foreign key(codigo_in) references inmueble(codigo_in) on delete cascade on update cascade, CONSTRAINT FK_rfc foreign key(rfc) references clientes(rfc) on delete cascade on update cascade ) create table casa( rfc varchar(14)not null, int_ext varchar(10)not null, n_baños int not null, gas varchar(10)not null, n_hab int not null, fecha_venta datetime not null, Taller de base de datos Página 22 Taller de Base de datos codigo_in int not null, CONSTRAINT PK_codigo_rfc2 primary key(codigo_in,rfc), CONSTRAINT FK_codigo_in2 foreign key(codigo_in) references inmueble(codigo_in) on delete cascade on update cascade, CONSTRAINT FK_rfc2 foreign key(rfc) references clientes(rfc) on delete cascade on update cascade ) Taller de base de datos Página 23 Taller de Base de datos DICCIONARIO DE DATOS Titular FK requerida a tabla Atributo Tipo Contenido Formato Null Key Rfc Varchar(14) Rfc del titular 0-9, A-Z No PK Nombre Varchar(30) Nombre del titular A-Z No Codigo_ag Integer Código agencia 0-9 No FK Agencia FK requerida a tabla Agencia Atributo Tipo Contenido Formato Null Key Codigo_ag Integer 0-9 No PK Fax Varchar(30) 0-9, A-Z No Dirección Varchar(50) 0-9, A-Z No Teléfono Varchar (20) 9-0, A-Z No Zona Integer Código agencia Numero del fax Dirección de agencia Teléfono Agencia Zona de la agencia 0-9 No Vendedor Atributo Tipo Contenido Formato Null Key Rfc Varchar(14) 0-9, A-Z No PK Nombre Varchar(30) Rfc del vendedor Nombre del tema A-Z No Taller de base de datos FK requerida a tabla Página 24 Taller de Base de datos Inmueble Atributo Tipo Contenido Formato Null Key FK requerida a tabla Código_in Integer 0-9 No PK Código_ag Integer Código del inmueble Código de la agencia 0-9 No FK Agencia Rfc_v Varchar(14) Rfc del vendedor 0-9, A-Z No FK Vendedor Dirección Varchar(50) Superficie Integer Porc_comision Money Propietario Varchar(30) Precio_venta Money Fianza Precio_alquiler Money Money Dirección del 0-9, A-Z inmueble Superficie 0-9 del inmueble Porción de la 0-9 comisión Nombre del A-Z propietario Precio del 0-9 inmueble Fianza 0-9 Precio del 0-9 alquiler Comercial No No No No No No No Atributo Tipo Contenido Formato Null Key Código_in Integer 0-9 No FK Rfc Licencia Varchar(14) Varchar(30) 0-9, A-Z 0-9, A-Z No No FK Cliente Fecha_inicio Datetime 9-0, A-Z No Fecha_termino Datetime Código del inmueble Rfc cliente Licencia del inmueble comercial Fecha de inicio del inmueble comercial Fecha de termino del inmueble comercial FK requerida a tabla Inmueble 0-9, A-Z No Taller de base de datos Página 25 Taller de Base de datos Casa Atributo Tipo Contenido Formato Null Key Rfc Int_ext N_banos Varchar(14) Rfc del cliente 0-9, A-Z No FK FK requerida a tabla Clientes Integer Numero de baños Casa con o sin gas Número de habitaciones Fecha de venta de la casa Código del inmueble 9-0, No A-Z No 0-9 No 0-9 No 0-9 No FK Inmueble Gas N_hab Integer Fecha_venta Datetime Código_in Integer Clientes Atributo Tipo Contenido Formato Null Key Rfc Varchar(14) 0-9, A-Z No PK Nombre Varchar(30) A-Z No Dirección Varchar (50) 9-0, A-Z No Teléfono Varchar (20) Rfc del cliente Nombre del cliente Dirección del cliente Teléfono del cliente 0-9, A-Z No Taller de base de datos FK requerida a tabla Página 26