Subido por john Romell

Formato entrega Modelamiento 06 01 2020

Anuncio
UNIDAD 1 - BASES DE DATOS TRANSACCIONALES Y RELACIONALES
FASE 1 - MODELAMIENTO: MODELAR, DISEÑAR Y DESARROLLAR BASES DE
DATOS RELACIONALES
PARTICIPANTES:
CC: 98687613 – JUAN JARAMILLO PULGARIN
CC:16075137– RENALDO ROJAS LOPEZ
CC: XXXX – XXXX
CC: 1041204551 – SANTIAGO VERGARA
CC:1128473450 – DANIEL DE JESUS CELIS MUÑOZ
GRUPO No.
301125A_616
Tutor:
Sonia Barahona
Universidad Nacional Abierta y a Distancia – UNAD
Escuela Ciencias básicas, tecnología e ingeniería
Programa Ingeniería de Sistemas
Base de datos avanzada 301125
Periodo 16-06
Colombia
2019
TABLA DE CONTENIDO
INTRODUCCIÓN ........................................................................................................................................ 3
RESULTADO DE LA ACTIVIDAD ........................................................................................................... 4
Publicación del rol escogido por el estudiante. ......................................................................................... 4
Selección y respuesta de la pregunta motivadora. .................................................................................... 4
Proyecto para desarrollar .......................................................................................................................... 7
A.
Análisis de requerimientos ................................................................................................................ 8
Formato 1: Definición y Descripción de Entidades .............................................................................. 8
Formato 2: Descripción de atributos y sus restricciones. .................................................................... 10
Formato 3: Matriz de Relaciones ........................................................................................................ 11
Formato 4: Descripción de las relaciones determinadas en la Matriz de Relaciones.......................... 13
B.
Diseño modelo Entidad Relación y modelo Relacional .................................................................. 14
1 - Modelo Entidad Relación .............................................................................................................. 15
2 - Modelo Relacional ......................................................................................................................... 15
Técnicas de normalización .................................................................................................................. 16
C.
Desarrollo de la base de datos relacional ........................................................................................ 16
Evidencias de la participación en el foro ................................................................................................ 25
CONCLUSIONES ...................................................................................................................................... 28
BIBLIOGRAFÍA ........................................................................................................................................ 29
INTRODUCCIÓN
Desarrollo de una base de datos con manipulación y control de datos en SQL, realizando
definición y descripción de tablas, descripción de columnas y definición de las relaciones
requeridas y pertinentes en la matriz de relaciones con descripción de cada una de las relaciones
teniendo en cuenta las opcionalidades, cardinalidades, grado, transferibilidad.
En la creación de tablas se realizaron las llaves primarias (UID) de cada tabla se realiza el
transforme de las relaciones 1:1 o 1:M en las llaves foráneas, implementando el concepto de la
integridad referencial
Realizado en programación con lenguaje SQL del script DDL, programación en lenguaje SQL
del script DML para poblar las tablas de las bases de datos y en el lenguaje SQL del script DCL
para otorgar los permisos sobre los objetos de la base de datos a otros usuarios
se diligencia cinco registros en las bases de datos y con esta se realizaron cinco (5) consultas
simples donde se evidencian el total de autos vendidos en el concesionario, el modelo y la marca.
También se muestra el vendedor con más autos vendidos y se evidenciara el valor total de las
ventas
RESULTADO DE LA ACTIVIDAD
Publicación del rol escogido por el estudiante.
Nombre Estudiante
Rol
Valoración del
Desempeño del Rol
Juan Jaramillo Pulgarín
Moderador
Calificar de 1 a 5
Reinaldo Rojas López
Colaborador
Calificar de 1 a 5
Estudiante 3
Evaluador
Calificar de 1 a 5
Santiago Vergara Quiceno
Creativo
Calificar de 1 a 5
Daniel de Jesús Celis Muñoz
Investigador
Calificar de 1 a 5
Selección y respuesta de la pregunta motivadora.
Nombre Estudiante 1: Juan Jaramillo Pulgarín
Pregunta 1: ¿Cuál es la diferencia entre base de datos Transaccionales y base de datos
relacionales?
¿Cuál es la diferencia entre base de datos Transaccionales y base de datos relacionales?
La diferencia entre una base de datos transaccional y una base de datos relacional, primero las
bases relacionales como su nombre lo indica, las tablas están relacionadas entre sí, por medio
de unos identificadores id o llaves, estas características hace que las bases de datos sean más
robustas y menos propensas a fallos y o a posibles vulnerabilidades de la información, allí
consignada, además son muy útiles para el análisis de información por la forma como se
relacionan las tablas entre sí, podemos obtener inmensidad de reportes y o informes,
conociendo como están construidas las relaciones,
En el caso de las bases no relacionales (NO SQL), no manejan los id o identificadores de las
bases relacionales, la información se organiza en forma distinta, los datos se escriben y se leen
de manera individual, en cuánto a las bases relacionales están son muy rápidas, es decir la
información puede ser accedida muy rápido, otra de las diferencias de este tipo de bases de
datos no relacional es que la información, en filas no por columnas como se hace en las bases
relacionales, dándole más velocidad en las consultas, ya que si buscamos un registro en
particular accederemos solo a lo que en realidad necesitamos o buscamos
Nombre Estudiante 2: Reinaldo Rojas López
Pregunta 2: ¿Qué se considera una base de datos relacionales?
Un base de datos relacional es una recopilación de elementos de datos con relaciones
predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con
columnas y filas. Las tablas se utilizan para guardar información sobre los objetos que se van a
representar en la base de datos. Cada columna de una tabla guarda un determinado tipo de
datos y un campo almacena el valor real de un atributo. Las filas de la tabla representan una
recopilación de valores relacionados de un objeto o entidad. Cada fila de una tabla podría
marcarse con un identificador único denominado clave principal, mientras que filas de varias
tablas pueden relacionarse con claves extranjeras. Se puede obtener acceso a estos datos de
muchas formas distintas sin reorganizar las propias tablas de la base de datos.
Nombre Estudiante 3:
Pregunta 3: ¿Cuál es la importancia del proceso de normalización en bases de datos?
Santiago Vergara:
Pregunta 4: ¿Cuál es la diferencia entre el lenguaje de definición de datos y el lenguaje de
manipulación de datos?
La diferencia principal entre DDL(Data Definition Language) y DML (Data Manipulation
Language) es la orientación.
Por un lado el DDL está orientado a la definición de estructuras de datos, así como
procedimientos o funciones que permiten consultarlos, dentro de las sentencias podemos
encontrar; CREATE, ALTER, DROP, TRUNCATE, COMENT y RENAME.
Por otro lado el DML está orientado a la manipulación de datos, el cual permite introducir
datos para posteriormente ser consultados o realizar tareas de modificación, los elementos
utilizados para manipular los datos son; SELECT, INSERT, UPDATE y DELETE.
Finalmente los dos lenguajes se complementan junto con otros lenguajes como DCL
(Lenguaje de Control de Datos) y TCL (Lenguaje de Control Transaccional).
Nombre Estudiante 5:
Pregunta 5: ¿Qué son las formas normales y cuál es su finalidad?
Las formas normales son un conjunto de restricciones o pautas que debe cumplir una base de
datos para estar bien estructurada.
Como finalidad podemos decir que define unos lineamientos para el buen diseño de la base de
datos.
Al normalizar simplificamos los datos y evitamos tener datos repetidos, además queremos
tener los datos ordenados. Cuando se está normalizando se debe evitar perder información.
Con la primera forma normal tenemos por ejemplo que en una tabla deben de existir datos que
no sean divisibles, que conserven los datos relacionados con una sola entidad, por ejemplo, en
una base de datos de estudiantes se debería tener la tabla datos básicos de estudiante separados
de los dados básicos de las materias.
En la segunda forma normal tenemos que en los registros de una tabla hay una dependencia
funcional, es decir, los datos que acompañan a la clave primaria dependen de ella para existir.
En la dependencia transitiva de esta segunda forma normal, tenemos que un atributo puede
depender de otro, pero a su vez también depende de la clave primaria.
La idea en esta segunda forma normal es tener tablas en donde los atributos de una tabla todos
tengan dependencia directa de la clave primaria, es decir, que no existan en una tabla datos que
podrían estar en otra tabla, y poder tener ya tabla intermedias.
En la tercera forma normal se revisa que no existan dependencias transitivas, es decir, si se
pueden tener otras tablas fuertes que permitan a otras tablas referenciar datos por medio de
códigos y no por nombres de datos, en este punto ya no habría repetición de datos lo que
ahorraría espacio y todos los atributos dependen de la clave primaria.
En la forma normal Boyce -Codd se revisa que no existan dependencias funcionales no
necesarias o triviales, es necesario que ya tenga la tercera forma normal.
Proyecto para desarrollar
Un grupo de 5 ingenieros de la Universidad Nacional Abierta y a Distancia UNAD, requieren
diseñar una base de datos que sea de utilidad para concesionarios de automóviles. Un
concesionario puede vender automóviles de varias marcas (por ejemplo, Audi y Volkswagen).
Sobre los automóviles se desea mantener la siguiente información: marca, modelo, precio,
descuento (si es que lo tiene), los datos técnicos (potencia fiscal, cilindrada, etc.); al igual que otras
características importantes y accesorios. El concesionario tiene siempre automóviles de varios
modelos en stock (cada uno se identifica por su número de bastidor). Cuando se vende un
automóvil se quiere saber quién lo ha vendido; también se desea saber el precio que se ha cobrado
por él y el modo de pago: al contado o mediante financiera. Se debe almacenar la información
sobre la fecha de entrega, matrícula y si era de stock o se ha tenido que encargar a fábrica. De los
vendedores se almacenarán los datos personales (nombre, NIF, domicilio, etc.) y las ventas
realizadas.
Para el desarrollo del proyecto, el grupo de 5 ingeniero de sistemas deben:
Importante: se espera que cada estudiante desarrolle mínimo 2 entidades y le
aplique el proceso.
A. Análisis de requerimientos
Formato 1: Definición y Descripción de Entidades
Entidad o Tipo
Justificación,
de Entidad
explicación de su
Ejemplo de Ejemplares
Extensión
INTENCION
1000
Hacer un
(Instancias)
existencia en el
Mundo del
Problema
Nombre Estudiante 1:
Empleado
Es importante
•
Daniel Prada
porque es el
•
Mariano Romero
objetivo del área
•
Diana Cardona
tener los datos de
•
Sandra Cristancho
cambio de una
los valores para los
•
Alexander García
remuneración.
•
Sistemas,
•
Telecomunicaciones,
•
Jurídica,
•
Financiera
•
Secretaria General
•
Despacho
trabajo en el
proceso a
datos de los
empleados.
Departamento
40
Nombre Estudiante 2: Juan Jaramillo Pulgarín
Cargo
Ciudad
•
Rector
•
Profesor Titular,
•
Profesor Asociado
•
Bogotá
•
Cartagena
•
Sahagún
•
Cerete
100
Nombre Estudiante 3:Reinaldo Rojas Lopez
empleado
Es importante para
•
Santiago lopez
que el
•
Tatiana torres
funcionamiento de
•
Pedro bermudez
la empresa sea
•
Laura cataño
estable y no
•
Ruben diaz
250
Vendedor de
autos
presente
incovenientes
empresa
Impotate para
generar empleo a la
Concesionario de
Vender autos y
autos
generar
sociedad
empleo
Nombre Estudiante 4:
Nombre Estudiante 5:Daniel de Jesús Celis Muñoz
AUTOMOVIL
Almacena la
Camioneta
Vehículos para
información básica
Automóvil
venta
de los automóviles
Vehículo de carreras
del concesionario
CLIENTE
Es la entidad que va
Ricardo Vélez
a poseer los datos de
Mari Molina
quienes se
Pedro Pérez
benefician de los
procesos misionales
del concesionario.
0.. N
Comprar
vehiculo
Formato 2: Descripción de atributos y sus restricciones.
Nomb
re
Entid
ad
Atribut
os
Identi
ficad
or
Único
(UID)
Emple
ado
Emplea
do_id
P_nom
bre
S_nom
bre
P_apelli
do
S_apelli
do
F_ingre
so
X
Depar
tamen
to
Ciuda
d
Tip
o
de
Dat
o
(Te
xto,
Nú
mer
o,
Fec
ha)
Emplead N
os_ids
P_Nomb
T
res
S_nomb
T
res
P_apelli
T
dos
S_apelli
T
dos
F_ingres
F
os
F_Naci
miento
Estado
civil
F_nacim
iento
Estados
Civiles
Salario
Correo
Sexo
Cargo
Nombre
dominio
Telefon
o
Cargo_i
d
Nombr
e
Depart
amento
_id
Nombr
e
Ciudad
_id
x
X
X
Ta
ma
ño
Obliga Cardi
toried nalid
ad
ad
(Si/No) (1 o
Much
os)
4
Si
1
--
30
SI
1
--
---
---
30
Si
1
--
---
---
---
---
30
30
F_ing
reso >
F_nac
imien
to
F
S
1
T
2
S
1
Salarios
N
10,
2
Si
1
Correos
Sexos
T
T
30
1
No
Si
M
1
Telefono
s
Cargos_i
ds
T
15
Si
M
Departa
mentos_i
ds
Nombre
s
x
Ciudade
s_id
Restricciones
adicionales
Lista Ran Restri
de
go
cción
Valor de
de
es
Val Contr
ores
ol
C,S,U
L,V,S
E
---
--M,
F,X
---
---
300
000
0150
000
00
----
---
---
---
---
---
---
T
30
SI
1
--
---
---
T
30
SI
1
--
---
---
N
10
Si
1
Corre
o
Nombr
e
ID
Nombre
s
T
30
Si
1
Automó
vil ids
marcas
modelos
precios
potencia
s
colores
cilindra
da
accesori
os
Identific
ador
caroceri
as
carrocer
ias
lineas
Tipos de
combust
ible
descuent
os
N
10
S
1
T
N
N
N
100
100
9,2
2,1
S
S
S
S
1
1
1
1
T
N
100
3
S
S
1
1
T
300
N
M
T
40
S
1
T
120
S
1
T
T
200
60
S
S
1
1
N
10
N
1
Catidad
disponib
le
identific
adores
nombres
N
3
S
M
N
11
S
1
T
100
S
1
apellidos
T
100
S
1
Número
s de
identific
acion
direccio
nes
telefonos
N
12
S
1
T
120
N
M
T
20
N
M
Tipo_co
rreo
Teléfo
no
Auto
movil
Telefon
o_ID
numero
idauto
movil
marca
modelo
precio
Potenci
a fiscal
color
cilindra
da
accesori
os
Nro
bastido
r
x
carroce
ria
linea
Comust
ible
Porc_d
escuent
o
stock
Client
e
idclient
e
nombre
s
apellido
s
identifi
cacion
Direcci
ón
telefono
x
Formato 3: Matriz de Relaciones
Empleado Departamento
Cargo
Ciudad
Correo
Teléfono
Empleado
Departamento
Cargo
Ciudad
Correo
Teléfono
R2
R1
R3
R5
R4
R6
Formato 4: Descripción de las relaciones determinadas en la Matriz de Relaciones
Rel
aci
ón
Entid
ad 1
R2
Empl
eado
Empl
eado
R1
Empl
eado
Rol
Entid Pregu R
ad 2
nta
ta
para
.
deter O
minar p
Opcio c.
nalid
ad
(Preg
untar
si está
obliga
do)
Diri Empl Emple N
ge.. eado ado
o
está
obliga
do a
liderar
a otro
emple
ado
Diri Empl Emple N
gid eado ado
o.
o..
está
obliga
do a
ser
dirigi
do por
otro
emple
ado
Tra
baj
o ..
Depar ¿Un
tamen Emple
to
ado
ESTÁ
OBLI
GAD
Oa
Trabaj
ar en
un
Depar
tamen
to?
Depar Ocu Empl ¿Un
tamen pa
eado Depar
to
tamen
to
ESTA
Pregu Rt Rela Gr
nta
a. ción ad
para C
es
o
deter ar Tran
minar d. sferi
Cardi
ble
nalid
(Si/N
ad
o)
(Preg
unta
CUA
NTO
)
Un
M
Si
1a
emple
M
ado
uc
CUA
ho
NTOS
emple
1:
ados
M
lidera.
.
Un
1
Si
emple
ado
por
CUA
NTOS
emple
ados
es
lidera
do ..
N ¿Un
o Emple
ado
en
CUA
NTOS
Depar
tamen
tos
Trabaj
a?
1
N ¿Un
o depart
ament
o
CUA
M
Si
1a
M
1:
M
Si
Ayud Observación/R
aa
estricciones/Atr
Ident
ibutos
ificar
entid
ades
Parti
cipan
tes
Las
dos
entida
des
partic
ipante
s se
identi
fican
plena
mente
Las
dos
entida
des
partic
ipante
s se
identi
fican
plena
mente
Esta relación
modela un
hecho
importante que
sucede en el
proceso que
estamos
analizando y es
que unos
empleados
dirigen a otros
empleados y que
los empleados
de la
organización
son dirigidos por
otros empleados.
Es posible que
algunos
empleados de la
organización no
sean liderados o
dirigidos por
otro empleado
Esta relación
modela un
hecho
importante que
sucede en el
proceso que
estamos
analizando y es
que los
empleados
trabajan en los
departamentos
de la
organización y
que los
departamentos
de la compañía
ocupan
R3
emple ocu
ado
pa
cargo
R4
cargo
trab Empl
ajo eado
OBLI
GAD
Oa
ocupa
r
Emple
ados?
¿Un
emple
ado
esta
obliga
do a
ocupa
r un
cargo
?
¿Un
cargo
esta
obliga
do a
dar
trabaj
o aun
emple
ado?
NTOS
Emple
ados
Ocupa
?
n
o
si
empleados o que
en los
departamentos
de la compañía
trabajan
empleados.
¿Un
emple
ado
en
cuant
os
cargos
puede
estar?
1
¿Un
cargo
cuant
os
trabaj
os
puede
dar?
m
si
1a
M
1:
M
Depar
tamen
to
ciuda
d
R5
R6
Diseño modelo Entidad Relación y modelo Relacional
si
Las
dos
entida
des
partic
ipante
s se
identi
fican
plena
mente
Esta relación
modela un
hecho
importante que
sucede en el
proceso que
estamos
analizando y es
que un
empleado ocupa
un cargo y un
cargo da trabajo
a un empleado
1 - Modelo Entidad Relación
2 - Modelo Relacional
Técnicas de normalización
Se espera que los estudiantes relacionen las técnicas de normalización aplicadas.
B. Desarrollo de la base de datos relacional
Cada estudiante debe desarrollar mínimo 2 tablas de la base de datos.
Nombre Estudiante 1: Reinaldo Rojas Lopez
Script DDL
Créate database cosensionario;
Use concesionario;
Créate table vendedores (nombre char(50), nif char(10) not null primary key, domicilio char(50),
teléfono char(30), correo_electronico char(70), numero_ventas char(20));
Créate table ventas (código_ventas char(10) not null primary key, nombre_vendedor char(50),
precio_vehiculo int(10), tipo_pago char(20), fecha_ entrega date, tipo_entrega char(30),
matricula_vehiculo char(10));
Script DML
Insert into vendedores (nombre, nif, domicilio, teléfono, correo_electronico, numero_ventas)
((“Santiago
values
lopez”,
“1010”,
“vendedor”,
“3106119543”,
“[email protected]”, “5”), (“Tatiana torres”, “2020”, “vendedor”, “3216549870”,
“[email protected]”, “3”), (“carolina zapata”, “3030”, “vendedor”, “3006409871”,
“[email protected]”, “2”), (“pedro bermudez”, “4040”, “vendedor”, “3124567890”,
“[email protected]”, “3”), (“Laura castaño”, “2020”, “vendedor”, “3230987654”,
“Laura.castañ[email protected]”, “6”), (“ruben diaz”, “5050”, “vendedor”, “3123211232”,
“[email protected]”, “4”));
Insert
into
ventas
(código_ventas,
nombre_vendedor,
precio_vehiculo,
tipo_pago,
fecha_entrega, tipo_entrega, matricula_vehiculo) values ((“1001”, “Tatiana torres”, 21000000,
“contado”, 2018-11-23, “stock”, “12q”), (“1002”, “Santiago lopez”, 40000000, “financiero”,
2020-01-01, “fabrica”, “23w”), (“1003”, “Laura castaño”, 29000000, “contado”, 2019-12-23,
“fabrica”, “34r”), (“1003”, “pedro bermudez”, 15000000, “contado”, 2019-12-12, “stock”,
“76h”), (“1004”, “Tatiana torres”, 24000000, “contado”, 2019-12-28, “fabrica”, “16a”),
(“1005”, “ruben diaz”, 32000000, “financiero”, 2019-12-24, “fabrica”, “19p”));
Script DCL
Grant all on vendedores to consensionario;
Grant all on ventas to consensionario;
Después de diligenciar los registros en la BD realizar una consulta simple donde se pueda
evidenciar total de autos vendidos en el concesionario. (Código SQL)
Select sum(numero_ventas) from vendedores;
Nombre Estudiante 2:
Script DDL
Script DML
Script DCL
Después de diligenciar los registros en la BD realizar una consulta simple donde se pueda
evidenciar los autos vendidos en el concesionario, el modelo y la marca. (Código SQL)
Nombre Estudiante 3:
Script DDL
Script DML
Script DCL
Después de diligenciar los registros en la BD realizar una consulta simple donde se pueda
mostrar cual es el vendedor con más autos vendidos. (Código SQL)
Nombre Estudiante 4:
Script DDL
CREATE TABLE modelo(
idmodelo INT not null primary key,
descripcion varchar(100) not null);
CREATE TABLE modo_pago(
idmodo_pago INT not null primary key,
descripcion varchar(100) not null);
CREATE TABLE marca(
idmarca INT not null primary key,
descripcion varchar(100) not null);
Script DML
INSERT INTO modelo (idmodelo, descripcion) values (01, "Corvette Stingray"),(02,"Corvette
Stingray Convertible");
INSERT INTO modo_pago (idmodo_pago, descripcion) values (01, "Efectivo"),(02,"Crédito");
UPDATE modo_pago SET descripcion = "Contado" WHERE idmodo_pago = 01;
Script DCL
GRANT ALL ON modo_pago to consensionario;
GRANT ALL ON modelo to consensionario;
Después de diligenciar los registros en la BD realizar una consulta simple donde se pueda
obtener el valor total de las ventas. (Código SQL)
SELECT SUM(precio_vehiculo)
FROM ventas;
Nombre Estudiante 5:
Script DDL
CREATE DATABASE CONCESIONARIO;
use CONCESIONARIO;
CREATE TABLE marca(
idmarca INT not null primary key,
descripcion varchar(100) not null);
CREATE TABLE color(
idcolor INT not null primary key,
descripcion varchar(100) not null
);
CREATE TABLE tipo_carroceria(
idcarroceria INT not null primary key,
descripcion varchar(100)
);
CREATE TABLE tipo_linea(
idlinea INT not null primary key,
descripcion varchar(100) not null
);
CREATE TABLE modelo(
idmodelo INT not null primary key,
descripcion varchar(100) not null
);
CREATE TABLE tipo_combustible(
idcombustible int not null primary key,
descripcion varchar(50)
);
CREATE TABLE modo_pago(
idmodo_pago INT not null primary key,
descripcion varchar(100) not null
);
CREATE TABLE cliente(
idcliente INT not null primary key,
nombres varchar(100) not null,
apellidos varchar(100) not null,
identificacion varchar(20) not null,
direccion varchar(100),
telefono varchar(20)
);
CREATE TABLE concesionario(
idconcesionario INt not null primary key,
nombre varchar(100) not null,
direccion varchar(80) not null,
telefono varchar(15)
);
CREATE TABLE vendedor(
idvendedor INT not null primary key,
nombres varchar(100) not null,
apellidos varchar(100) not null,
NIF varchar(60) not null,
direccion varchar(120),
telefono varchar(20),
idconcesionario int not null
);
CREATE TABLE venta(
idventa INT not null primary key,
idcliente int not null,
idvendedor int not null,
fecha_venta date not null
);
CREATE TABLE automovil(
idautomovil INT not null primary key,
marca int not null,
modelo int not null,
precio double not null,
potencia_fiscal double,
color int,
cilindrada double,
accesarios varchar(300),
nro_bastidor varchar(50),
carroceria int not null,
linea int not null,
combustible int not null,
porc_descuento varchar(5),
stock int
);
CREATE TABLE detalle_venta(
iddetalle_venta INT not null primary key,
idventa int not null,
idautomovil int not null,
precio_venta double,
modo_pago int not null,
fecha_entrega date,
matricula varchar(100),
stock_fabrica varchar(2),
cantidad int
);
/*foraneas*/
/* para automoviles*/
alter table automovil add foreign key(marca) references marca(idmarca);
alter table automovil add foreign key(modelo) references modelo(idmodelo);
alter table automovil add foreign key(carroceria) references tipo_carroceria(idcarroceria);
alter table automovil add foreign key(linea) references tipo_linea(idlinea);
alter table automovil add foreign key(combustible) references
tipo_combustible(idcombustible);
/*para el vendedor*/
alter table vendedor add foreign key(idconcesionario) references
concesionario(idconcesionario);
/*para venta*/
alter table venta add foreign key(idcliente) references cliente(idcliente);
alter table venta add foreign key(idvendedor) references vendedor(idvendedor);
/* para detalle de venta*/
alter table detalle_venta add foreign key(idventa) references venta(idventa);
alter table detalle_venta add foreign key(idautomovil) references automovil(idautomovil);
alter table detalle_venta add foreign key(modo_pago) references modo_pago(idmodo_pago);
Script DML
/* inserts*/
use CONCESIONARIO;
/* marcas*/
insert into marca(idmarca,descripcion) values(1, 'toyota'),(2,
'Volkswagen'),(3,'mazda'),(4,'Renault'),(5,'Chevrolet ');
/*colores*/
insert into color(idcolor,descripcion) values(1,'Negro'),(2,'Plata'),(3,'Gris'),(4,'Rojo'),(5,'Azul');
/*tipo carrocerias*/
insert into tipo_carroceria(idcarroceria,descripcion)
values(1,'Monovolumen'),(2,'Cupe'),(3,'Sedan'),(4,'Tricuerpo'),(5,'Descapotable');
/*tipo lineas*/
insert into tipo_linea(idlinea,descripcion)values(1, 'Kwid'),(2,'Hilux'),(3,'Gold'),(4,'mazda
3'),(5,'Aveo Emotion');
/* modelos */
insert into modelo(idmodelo, descripcion) values(1,'Toyota Land Cruiser'),(2, 'Renault
Koleos'),(3,'volkswagen'),(4,'mazda CX-30'),(5,'Hyundai H-1');
/* modos de pagos */
insert into modo_pago(idmodo_pago,descripcion) values(1, 'contado'),(2,'financiera');
/* clientes*/
insert into cliente(idcliente,nombres,apellidos,identificacion,direccion,telefono)
values(1,'Fernando','Galeano',11254578,'Cra 34 n45-45',4587845),
(2,'Maria','Cifuentes',1254785,'Cra 34 n45-46',3567894),(3,'Camilo','Velez',11252548,'Cra 87
n42-45',3567843),(4,'Felipe','Mora',11236598,'Cra 58 n 45-12',3658743),
(5,'Camila','Ochoa',1136895743,'avenida 33 n 45-56',2547885);
/* consesionario*/
insert into concesionario(idconcesionario,nombre,direccion,telefono)
values(1,'AutoMontaña','cra 45 n56-45','6587845');
/* vendedor */
insert into vendedor(idvendedor,nombres,apellidos,NIF,direccion,telefono,idconcesionario)
values(1,'Carlos','Mora',1234,'calle 34 n 67-23','312457852',1),
(2,'Veronica','Perez',1235,'calle 34 n 68-23','312555852',1),(3,'Maria','Fernandez',1236,'calle25
n 65-23','3157841253',1),(4,'Bertulfo','Hernandez',1237,'calle 65 n 65-23','312469852',1),
(5,'Lucas','Mora',1238,'cra 45 n 67-23','3184527845',1);
/* tipo combustible */
insert into tipo_combustible(idcombustible,descripcion) values(1,'Gasolina'),(2,'Gas
Natural'),(3,'Diesel'),(4,'Bioetanol');
/* automovil */
insert into
automovil(idautomovil,marca,modelo,precio,potencia_fiscal,color,cilindrada,accesarios,nro_b
astidor,carroceria,linea,combustible,porc_descuento,stock)
values(1,1,2,45000000,45,3,40,'rines de lujo radio usb',4567,1,1,1,'0',40),
(2,2,3,60000000,40,2,40,'rines de lujo',4568,2,3,1,'2',20),
(3,3,4,70000000,50,4,50,'rines de lujo radio mp3',4569,1,4,1,'0',30),
(4,2,2,40000000,38,1,45,'rines de lujo radio mp3',4570,1,1,2,'0',30),
(5,5,2,37000000,45,3,40,'rines de lujo radio usb',4569,1,1,1,'0',40);
/* venta */
insert into venta(idventa,idcliente,idvendedor,fecha_venta) values (1,1,1,'2019-1126'),(2,2,2,'2019-11-30'),(3,3,2,'2019-12-24'),(4,4,2,'2019-12-24'),(5,5,4,'2019-12-24');
/* detalle_venta */
insert into
detalle_venta(iddetalle_venta,idventa,idautomovil,precio_venta,modo_pago,fecha_entrega,mat
ricula,stock_fabrica,cantidad)
values(1,1,1,45000000,1,'2019-12-26',124578,'S',1),
(2,2,2,60000000,2,'2019-12-28',124568,'S',1),
(3,3,3,70000000,1,'2019-12-26',125558,'S',1),
(4,4,4,40000000,2,'2019-12-27',1254578,'S',1),
(5,5,5,37000000,1,'2019-12-26',132564878,'S',1);
Script DCL
/* grant para el administrador*/
grant select,insert,update,delete on concesionario.* to 'usuario_administrador'@'localhost'
identified by '1234578';
/* grant para los vendedores*/
grant select, insert on concesionario.automovil to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on concesionario.color to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on
identified by '1234';
concesionario.tipo_carroceria to 'usuario_vendedor'@'localhost'
grant select, insert on concesionario.marca to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on concesionario.tipo_linea to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on concesionario.modelo to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on concesionario.venta to 'usuario_vendedor'@'localhost' identified by
'1234';
grant select, insert on concesionario.detalle_venta to 'usuario_vendedor'@'localhost' identified
by '1234';
grant select, insert on concesionario.modo_pago to 'usuario_vendedor'@'localhost' identified
by '1234';
show grants for 'usuario_vendedor'@'localhost';
show grants for 'usuario_administrador'@'localhost';
Después de diligenciar los registros en la BD realizar una consulta simple donde se pueda
mostrar el mes con menos ventas. (Código SQL)
/* reporte */
select count(idventa) CANTIDAD, month(fecha_venta) fecha_venta from venta group by
month(FECHA_VENTA)
order by CANTIDAD asc limit 1
Evidencias de la participación en el foro
Se espera que cada estudiante presente las evidencias de su participación en el foro con relación al
Desarrollo Fase 1 - Unidad 1, al igual que comentarios significativos a los aportes de los demás
compañeros del grupo.
Nombre Estudiante 1:
Imagen 1
Imagen 2
Nombre Estudiante 2: Reinaldo Rojas Lopez
Imagen 1
Imagen 2
Nombre Estudiante 3:
Imagen 1
Imagen 2
Nombre Estudiante 4:
Imagen 1
Nombre Estudiante 5:
Imagen 2
CONCLUSIONES
se realiza los registros y cada una de las consultas propuestas en el formato a entregar
se realiza el análisis de requerimientos tomando definición y descripción de entidades
se seleccionó la pregunta y se respondió la pregunta motivadora
Realizar un análisis de la situación o necesidad del cliente es necesario para poder delimitar las
entidades participantes, con base en esto se debe de modelar la base de datos de manera que se
preserve la información relevante, para este modelamiento se deben de tener en cuenta las
formas normales ya que son una guía para evitar repetir la información y mantener los datos
relacionados de una manera adecuada.
Se crea el modelo relacional, basado en las técnicas de normalización, para evitar la duplicidad
de registros en la base de datos se utilizan los ID y los campos únicos.
BIBLIOGRAFÍA
Ramakrishnan, Raghu, and Johannes Gehrke. Sistemas de gestión de bases de datos (3a. ed.),
McGraw-Hill España, 2007. ProQuest Ebook Central, pag-1624recuperado http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=43&docID
=3195347&tm=1531498461426
Sosa Flores, M. & López Vázquez, M. (2007) Diseño de bases de datos relacionales. Córdoba,
AR: El Cid Editor. pág. 20 -42. Recuperado
de http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=22&docID=3175111
&tm=1531495677522
Descargar