Está en la página 1de 26

UNIDAD 1 - BASES DE DATOS TRANSACCIONALES Y RELACIONALES

FASE 1 - MODELAMIENTO: MODELAR, DISEÑAR Y DESARROLLAR


BASES DE DATOS RELACIONALES

PARTICIPANTES:

CC: 1.110.560.090 – RAFAEL ANDRES GRANADOS


CC: 1.110.566.852 – HERNAN DARIO VARGAS
CC: 1109296821 – JORGE MARIO SANTACRUZ

GRUPO No. 25

Director de Curso:
MARIANO ESTEBAN ROMERO

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-04
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.................................................................................................................5
A. Análisis de requerimientos...................................................................................................6
Formato 1: Definición y Descripción de Entidades..............................................................6
Formato 3: Matriz de Relaciones.............................................................................................10
B. Diseño modelo Entidad Relación y modelo Relacional.............................................12
1 - Modelo Entidad Relación......................................................................................................12
2 - Modelo Relacional...................................................................................................................13
C. Desarrollo de la base de datos relacional Y SCRIPT DDL GRUPO_25.................14
Evidencias de la participación en el foro...................................................................................23
CONCLUSIONES.....................................................................................................................................25
BIBLIOGRAFÍA........................................................................................................................................26
INTRODUCCIÓN

Con el presente informe se pretende potenciar competencias en modelar,


diseñar y desarrollar bases de datos relacionales, donde cada uno de los
estudiantes participantes, desarrollan una serie de actividades, iniciando con
la respuesta a una pregunta motivadora de autoría propia; de esta manera,
un grupo de cinco ingenieros debe desarrollar una base de datos que le
aporte a la sistematización de un concesionario, teniendo en cuenta el análisis
de unos requerimientos como, definición, descripción de entidades,
descripción de atributos y descripción de la matriz relación. La siguiente
etapa, consiste en el diseño, acorde a las características realizadas
efectuando el modelo entidad relación aplicando las técnicas de normalización
y la relación de uno a uno o uno a muchos; terminando con la programación
de SQL (DDL, DML, DCL), con esto se diligencian dos ventas de autos con la
base de datos desarrollada.
RESULTADO DE LA ACTIVIDAD

Publicación del rol escogido por el estudiante.

Nombre Estudiante Rol Valoración del


Desempeño del Rol
Estudiante 1 Moderador Calificar de 1 a 5
HERNAN DARIO VARGAS Colaborador 5
RAFAEL ANDRES GRANADOS Evaluador 5
JORGE MARIO SANTACRUZ Creativo 5
Estudiante 5 Investigador Calificar de 1 a 5

Selección y respuesta de la pregunta motivadora.

Nombre Estudiante 1: HERNAN DARIO VARGAS


Pregunta 1: ¿Cuál es la diferencia entre base de datos
Transaccionales y base de datos relacionales?
La principal diferencia entre las bases de datos transaccionales y
relacionales es que como su nombre lo indica, las bases de datos
transaccionales consisten en enviar, modificar y recibir datos priorizando la
velocidad y la efectividad de este proceso por medio de diferentes
operaciones enfocadas en la protección y la recuperación de información al
momento de ejecutar múltiples comandos, ya que estas suelen estar
compartidas por un gran número de usuarios que simultáneamente están
realizando sus consultas al Sistema de Gestión de base de datos (SGBD) y
podrían generar fallos y errores que sin los correctos protocolos de
seguridad generarían la eliminación de información. Estos sistemas son
optimizados para almacenar grandes volúmenes de datos, pero no para
analizar los mismos.
Por otro lado las bases de datos relacionales están compuestas de tablas
en las cuales los datos son almacenados y utilizados para su ingreso,
modificación, eliminación, consulta y análisis, con el propósito de relacionar
y expandir la base de datos sin necesidad de la completa eliminación o
creación desde cero de esta, para lograr una base de datos relacional se
pueden utilizar diferentes modelos y los datos deben cumplir diferentes
requerimientos para lograr la correcta asociación y manipulación de
diferentes tablas y bases de datos.
Nombre Estudiante 2: Rafael Andrés Granados
Pregunta 2: ¿Qué se considera una base de datos relacionales?
Las bases de datos relacionales son conjuntos de datos los cuales presentan
ciertas relaciones previamente definidas entre ellos, los cuales se organizan
en manera de tablas, dichas tablas presentan columnas y filas, por medio
de las cuales determino el tipo de dato en cada columna, y en cada campo
se almacena el valor o la descripción de los atributos de cada elemento
contenido en la tabla, las filas representan un orden coherente de los datos
de cada objeto según su tipo de dato, representado en las columnas, cada
fila puede tener una llave primaria, la cual es un identificador único,
también podemos relacionar varias filas en distintas tablas mediante llaves
foráneas las cuales son identificadores de múltiples elementos. En una base
de datos relacional siempre debo procurar y garantizar la integridad de los
datos; se entiende que la integridad de los datos es que estos tengan total
coherencia y precisión; es de vital importancia conservar dicha integridad
para evitar errores en nuestras bases de datos, podemos garantizar la
precisión y fiabilidad de nuestros datos mediante el uso de restricciones
como las llaves primarias y foráneas, y mediante otras restricciones como
"Not Null", entre otras. Para realizar consultas y modificaciones dentro de
las bases de datos generalmente se utiliza el lenguaje "SQL" o Structured
Query Language.
Nombre Estudiante 3:
Pregunta 3: ¿Cuál es la importancia del proceso de normalización en bases
de datos?

Nombre Estudiante 4:
Pregunta 4: ¿Cuál es la diferencia entre el lenguaje de definición de datos y
el lenguaje de manipulación de datos?

Nombre Estudiante 5: JORGE MARIO SANTACRUZ


Pregunta 5: ¿Qué son las formas normales y cuál es su finalidad?
Proporcionan criterios para un grado de vulnerabilidad de las tablas a
inconsistencias y anomalías lógicas, cuanto más alta es la forma normal que
se le aplica será menos vulnerable a las anomalías. La finalidad de estas
formas es aplicar unas reglas a las relaciones obtenidas tras el paso del
modelo (entidad-relación), evitando la redundancia de los datos, evitando
problemas de actualización de los datos de las tablas.

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, explicación Ejemplo de Ejemplares Extensió INTENCION
de Entidad de su existencia en el (Instancias) n
Mundo del Problema

Nombre Estudiante 1: HERNAN DARIO VARGAS DAZA


ATOMOVIL Se desea tener  AVEO 2008 1000 OFRECER ESTE
conocimiento sobre que  Audi. A7 Sportback PRODUCTO PARA
los automóviles que  BMW. X2. X3. i3. i8. LA VENTA.
están disponibles en el X6.
concesionario.  Mazda 2. Sedan
2019
Se necesita tener los  DANIEL FELIPE PEÑA 1000 VENDER LOS
VENDEDOR datos de los vendedores  MARTHA GONZALES PRODUCTOS
para la solución de los  ROBERTO VANEGAS OFERTADOS POR
requerimientos  MARIA MORA EL
CONCESIONARIO.
VENTA El requerimiento  VENTA1, EFECTIVO, 1000 CONOCER LOS
principal es conocer las 03/02/2019,STOCK DETALLES DE LAS
ventas del  VENTA2, FINANCIADO, VENTAS
concesionario. 01/01/2020, FABRICA REALIZADAS.
Nombre Estudiante 2: RAFAEL ANDRÉS GRANADOS CASTAÑO
Se necesita tener los  MARIA CAMILA 1000 COMPRAR LOS
CLIENTE datos de los clientes MORENO PRODUCTOS
para la solución de los  SERGIO PULIDO OFERTADOS POR
requerimientos  ESTEBAN SANCHEZ EL
JORGE DIAZ CONCESIONARIO.
REVISIONES El requerimiento  REVISION1,ACEITE, 1000 CONOCER LOS
principal es conocer las $150000 DETALLES DE LAS
revisiones por las cuales  REVISION2, FRENOS, REVISIONES
puede pasar un vehículo  $260000 REALIZADAS.
tras su compra.
REPARACIONES El requerimiento  REPARACION1,MOTOR, 1000 CONOCER LOS
principal es conocer las $690000 DETALLES DE LAS
reparaciones que puede  REPARACION2,FRENOS REPARACIONES
tener un vehículo tras su , REALIZADAS.
compra. $300000

Nombre Estudiante 3: JORGE MARIO SANTACRUZ


Pedidos Se necesita los datos  1991 1000 Ofrecer el
tanto del comprador  1109296 producto al
como del vendedor  3623002 comprador
para una buena  Ivan Arias
elaboración del pedido  09/03/20
 15/03/20
300623
Detalles del Se debe conocer cada  12345 1000 Dejar
Repuesto detalle del producto a  1991 establecido la
comprar y u cantidad a  2 cantidad
entregar  $90000
$3000
Repuesto Todas las  12345 1000 Conocer
características del  6578 detallada mente
producto a entregar al  Retrovisores el producto
cliente  Espejos que van en
las puertas delanteras
del auto
 $45000
2
Formato 2: Descripción de atributos y sus restricciones.
Tipo de Dato Cardinalidad Restricciones adicionales
Nombre Identificador (Texto, Obligatoriedad
Atributos Tamaño Lista de Rango de
Entidad Único (UID) Número, (Si/No) (1 o Muchos)
Fecha) Valores Valores
VENDEDOR Nif_Vendedor X N 4 Si 1 --  
  Nombres_Vend   T 30 SI 1 -- ---

  Apellidos_Vend   T 30 SI 1   ---

  Domicilio_Vend   T 50 -- M    

  Sexo_Vend   T 2 -- 1 M,F,OTRO  
  Telefono_Vend   N 10 -- M   ---
AUTOMOVILES Nit_Auto X N 10 SI 1   ---
  Marca_Auto   T 50 SI 1   ---
  Modelo_Auto   T 50 SI 1    
  Precio_Auto   N 50 SI 1    

  Descuento_Auto   N 3 SI 1  

  Cilindraje_Auto   N 10 -- 1    
  Potencia_Auto   N 10 -- 1    
VENTAS Nit_Venta X N 10 SI 1    
EFECTIVO/FIN
  Modopago_Venta   T 10 SI 1  
ANCIADO

  Fecha_Entrega_Venta   F   SI 1    

  Stock_Venta   T 2 SI 1 SI/NO  
                 
CLIENTE ID_Client X N 10 Si 1 --  
  Nombre_Client   T 30 SI 1 -- ---

  Apellidos_Client   T 30 SI 1   ---

  Direccion_Client   T 50 -- M    

  Ciudad_Client   T 20 -- M --  
  Sexo_Client   T 1 -- 1 M, F, Otro ---

  Telefono_Client   N 13 SI M    

  Email_Cliente   T 50 SI M    
YYYY/MM/D
  Fecha_Nacimiento   F 8 _ 1  
D

  Profesión_Client   T 30 _ M    

 
REVISIONES Rev_Num_Fact X N 10 SI 1 _  
---
YYYY/MM/D
  Rev_Fecha   F 8 SI 1 __
D

  Cliente_ID_Client   N 10 SI 1 _ _

  Rev_Telefono   N 13 SI M _ __

  Rev_Cambio_Aceite   T 2 _ 1 SI/NO ---

  Rev_Cambio_Filtro   T 2 _ 1 SI/NO _

  Rev_Frenos   T 2 _ 1 SI/NO _
  Rev_Otros   T 50 _ 1 _ _
  Rev_Valor   N 10 SI 1 _ _
  Rev_Descuento   N 3 -- 1 _ 0-100
REPARACIONE
Rep_Num_Fact X N 10 SI 1 _ _
S
YYYY/MM/D
  Rep_FechaInicio   F 8 SI 1 _
D
YYYY/MM/D
  Rep_FechaFin   F 8 SI 1 _
D

  Cliente_ID_Client   N 10 SI 1 _ _

  Rep_Telefono   N 13 SI M _ _
  Rep_Embragues   T 2 _ 1 SI/NO _

  Rep_Correa_Distr   T 2 _ 1 SI/NO _

  Rep_Motor   T 2 _ 1 SI/NO _
  Rep_Frenos   T 2 _ 1 SI/NO _
  Rep_Otros   T 50 _ 1 _ _
  Rep_Valor   N 10 SI 1 _ _
  Rep_Descuento   N 3 _ 1 _ 0-100
Pedido Id_pedido X N 4 Si 1 -
  Id_empleado   N 11 Si 1 -
  Id_cliente   N 11 Si 1 -
  Cliente   T 30 Si 1  
  Fecha_pedido   F 8 Si 1  
  Fecha_envio   F 8 Si 1  
  Id_transportista   N 11 Si 1  
Detalles del
Id_repuesto X N 5 Si 1  
repuesto
  Id_pedido   N 4 Si 1  
  Cantidad   N 2 Si 1 -
  Precio_unitario   N 8 Si 1 -
  Descuento   N 8 No 1 -
Repuestos Id_repuesto X N 5 Si 1  

  Código_repuesto   N 4 Si 1  

  Nombre_repuesto   T 30 Si 1 -

  Descripción_repuesto   T 50 No 1  
  Precio_repuesto   N 8 Si 1 -

  Cantidad_repuesto   N 2 Si 1 -

Formato 3: Matriz de Relaciones


Automóvile Detalle del repuesto
Vendedor Ventas Cliente Revisiones Reparaciones Pedido
s repuesto s
Vendedor R1
Automóviles
R2
Ventas R3 R4
Cliente R10
Revisiones R5 R7
Reparacione
s R6 R11
Pedido R8
Detalle del
Repuesto
Repuesto R9

Formato 4: Descripción de las relaciones determinadas en la Matriz de


Relaciones
Pregunta
Pregunta
para
para
determin
determinar Rta
ar Ayuda a
Opcionalida Rta. Observación/Res
Relació Entidad Cardinali Identificar
rol Entidad 2 d dad Card Grado tricciones/Atribu
n 1 entidades
. tos
      Participantes
(Preguntar
(Pregunt
si está Opc
a
obligado
Esta relación
modela el hecho
¿Un
Un Las dos del
vendedor
vendedo entidades requerimiento
Vended Realiz está
R1 Ventas Si r cuantas M 1:M participantes principal, el cual
or a obligado a
ventas se identifican consiste en
realizar
realiza? plenamente mostrar las
ventas?
ventas de cada
vendedor.
¿Un Un Esta relación
automóvil automóv Las dos modela un hecho
Es está il es entidades importante
Autom
R2 objet Ventas obligado a
Si objeto 1 01:01 participantes relacionado con
óviles
o de ser objeto de se identifican el proceso que
de unacuantas plenamente estamos
venta? ventas? realizando.
Las
Una venta ventas
Se está son
realiz Vendedo obligada a realizada
R3 Ventas Si M M:1    
an r ser realizada s por
por por un cuantos
vendedor? vendedo
res?
Las
Una venta
ventas
está
entre Automóv cuantos
R4 Ventas obligada a Si 1 01:01    
ga iles automóv
entregar un
iles
automóvil?
entrega?
R5 Cliente Solicit Revision ¿Un cliente No Cuantas M 1:M Las dos Esta relación
a es está revisione entidades modela un hecho
obligado a s participantes importante
solicitar necesita se identifican relacionado con
solicitar
el proceso que se
revisiones? un plenamente
está realizando.
cliente?
Cuantas
¿Un cliente Esta relación
reparacio Las dos
está modela un hecho
nes entidades
Solicit Reparaci obligado a importante
R6 Cliente No necesita M 1:M participantes
a ones solicitar relacionado con
solicitar se identifican
reparacione el proceso que se
un plenamente
s? está realizando.
cliente?
Una
Puede Esta relación
Una revisión revisión Las dos
n modela un hecho
obligatoria puede entidades
Revisio llevar Reparaci importante
R7 mente lleva No dar lugar M 1:M participantes
nes a ones relacionado con
a una a se identifican
realiz el proceso que se
reparación? reparacio plenamente
ar está realizando.
nes?
Cuantos
¿Un pedido Esta relación
repuestos
solicit está obligado modela un
R8 Pedido repuestos Si puede M 1:M
a a solicitar pedido
solicitar
repuestos? específico.
un pedido
Esta relación
Cuantos
modela
Un repuesto detalles
efectúa una
Detalle está obligado de
repuest contie comparación
R9 del a contener Si repuesto 1 1:1
os ne que relación
repuesto detalle de contiene
entre una
repuesto un
cantidad y el
repuesto
detalle.
Cuantos
Un cliente
automóvil
Adqui Automóvil está obligado
R10 Cliente No es puede M 1:M
ere es a adquirir un
adquirir
automóvil
un cliente
Cuantos
Una pedidos
reparación puede
Reparaci Gener
R11 Pedidos está obligada No generar M 1:M
ones an
a generar una
pedidos reparació
n

B. Diseño modelo Entidad Relación y modelo Relacional

1 - Modelo Entidad Relación

M:1
-Nif_Vendedor
-Nit_Venta -Nombres_Vend
-Modopago_Venta -Apellidos_Vend
Ventas Realiza Vendedor -Domicilio_Vend
-Fecha_Entrega_Venta
-Stock_Venta -Sexo_Vend
-Telefono_Vend
1:1

Entrega
2 - Modelo Relacional
C. Desarrollo de la base de datos relacional
Cada estudiante debe desarrollar mínimo 2 tablas de la base de datos.

Nombre Estudiante 1: HERNAN DARIO VARGAS


Script DDL:
CREATE TABLE automoviles (
nit_auto INTEGER NOT NULL,
marca_auto NVARCHAR2(30) NOT NULL,
modelo_auto NVARCHAR2(30) NOT NULL,
precio_auto INTEGER NOT NULL,
descuento_auto CHAR(10) NOT NULL,
cilindraje_auto INTEGER,
potencia_auto INTEGER
);

ALTER TABLE automoviles ADD CONSTRAINT automoviles_pk PRIMARY KEY


( nit_auto );

CREATE TABLE vendedor (


nit_vendedor INTEGER NOT NULL,
nombres_vend VARCHAR2(30) NOT NULL,
apellidos_vend VARCHAR2(30) NOT NULL,
domicilio_vend NVARCHAR2(50),
sexo_vend CHAR(10),
telefono_vend INTEGER
);

ALTER TABLE vendedor ADD CONSTRAINT vendedor_pkv1 PRIMARY KEY


( nit_vendedor );

CREATE TABLE ventas (


nit_venta INTEGER NOT NULL,
modopago_venta CHAR(10) NOT NULL,
fecha_entrega_venta DATE NOT NULL,
stock_venta CHAR(2) NOT NULL,
vendedor_nit_vendedor INTEGER NOT NULL,
automoviles_nit_auto INTEGER NOT NULL
);

CREATE UNIQUE INDEX ventas__idx ON


ventas (
automoviles_nit_auto
ASC );

ALTER TABLE ventas ADD CONSTRAINT ventas_pk PRIMARY KEY


( nit_venta );

ALTER TABLE ventas


ADD CONSTRAINT ventas_automoviles_fk FOREIGN KEY
( automoviles_nit_auto )
REFERENCES automoviles ( nit_auto );

ALTER TABLE ventas


ADD CONSTRAINT ventas_vendedor_fk FOREIGN KEY
( vendedor_nit_vendedor )
REFERENCES vendedor ( nit_vendedor );
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 count(*) as autos_vendidos from ventas;

Nombre Estudiante 2: RAFAEL ANDRÉS GRANADOS CASTAÑO


Script DDL:
CREATE TABLE cliente(
ID_Client INTEGER NOT NULL
Nombre_Client VARCHAR(30) NOT NULL
Apellido_Client VARCHAR(30) NOT NULL
Direccion_Client NVARCHAR(50)
Ciudad_Client VARCHAR(20)
Sexo_Client CHAR(1)
Telefono_Client INTEGER NOT NULL
Email_Client VARCHAR(50) NOT NULL
Fecha_Nacimiento DATE
Profesion_Client VARCHAR(30)
);

ALTER TABLE cliente ADD CONSTRAINT cliente_pk PRIMARY KEY


(ID_Client);

CREATE TABLE revisiones(


Rev_Num_Fact INTEGER NOT NULL
Rev_Fecha DATE NOT NULL
Rev_Telefono INTEGER NOT NULL
Rev_Cambio_Aceite CHAR(2)
Rev_Cambio_Filtro CHAR(2)
Rev_Cambio_Frenos CHAR(2)
Rev_Otros VARCHAR(50)
Rev_Valor INTEGER NOT NULL
Rev_Descuento INTEGER
);

ALTER TABLE revisiones ADD CONSTRAINT revisiones_pk PRIMARY KEY


(Rev_Num_Fact);

CREATE TABLE reparaciones(


Rep_Num_Fact INTEGER NOT NULL
Rep_Fecha_Inicio DATE NOT NULL
Rep_Fecha_Fin DATE NOT NULL
Rep_Telefono INTEGER NOT NULL
Rep_Embragues CHAR(2)
Rep_Correa_Distr CHAR(2)
Rep_Motor CHAR(2)
Rep_Frenos CHAR(2)
Rep_Otros VARCHAR(50)
Rep_Valor INTEGER NOT NULL
Rep_Descuento INTEGER
);

ALTER TABLE reparaciones ADD CONSTRAINT reparaciones_pk PRIMARY


KEY (Rep_Num_Fact);

ALTER TABLE revisiones ADD CONSTRAINT clientes_revisiones_fk FOREIGN


KEY (Clientes_ID_Client)
REFERENCES cliente(ID_Client);

ALTER TABLE reparaciones ADD CONSTRAINT clientes_reparaciones_fk


FOREIGN KEY (Clientes_ID_Client)
REFERENCES cliente(ID_Client);
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)

 select nit_venta,marca_auto,modelo_auto from automoviles


inner join ventas on automoviles_nit_auto=nit_auto order by
nit_venta;

Nombre Estudiante 3:
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:
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_auto)as suma_total from automoviles inner


join ventas on automoviles_nit_auto=nit_auto;

Nombre Estudiante 5: JORGE MARIO SANTACRUZ


Script DDL:
CREATE TABLE pedido (
Id-pedido---- INTEGER NOT NULL
Id-empleado---- INTEGER NOT NULL
Id-cliente---- INTEGER NOT NULL
Cliente---- VARCHAR (30) NOT NULL
Fecha-pedido---- DATE NOT NULL
Fecha-envió DATE NOT NULL
Id-transportista---- INTEGER NOT NULL
);

ALTER TABLE pedido ADD CONSTRAINT pedido_pk PRIMARY KEY (ID_Client);

CREATE TABLE detalledelproducto (


Id-producto---- INTEGER NOT NULL
Id-pedido---- INTEGER NOT NULL
Cantidad---- NVARCHAR2(2),
Precio-unitario---- NVARCHAR2(8),
Descuento---- NVARCHAR2(8),
);

ALTER TABLE detalledelproducto ADD CONSTRAINT detalledelproducto _pk PRIMARY


KEY (Rev_Num_Fact);

CREATE TABLE product (


Id-prodcuto
Código-producto---- INTEGER NOT NULL
Nombre-producto---- INTEGER NOT NULL
Descripción---- VARCHAR (50)
Precio-lista---- NVARCHAR2 (8),
Cantidad-producto---- NVARCHAR2(2),
);
ALTER TABLE product ADD CONSTRAINT producto_pk PRIMARY KEY
(Rep_Num_Fact);
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)

SELECT
FECHA_ENTREGA_VENTA,
NIT_VENTA,
AUTOMOVILES_NIT_AUTO,
PRECIO_AUTO,
FROM
VENTAS
RIGHT JOIN
AUTOMOVILES
ORDER BY
FECHA_ENTREGA_VENTA DESC;

SCRIPT DDL PROYECTO GRUPO_25


CREATE TABLE automoviles (

nit_auto INTEGER NOT NULL,

marca_auto NVARCHAR2(30) NOT NULL,

modelo_auto NVARCHAR2(30) NOT NULL,

precio_auto INTEGER NOT NULL,

descuento_auto CHAR(10) NOT NULL,

cilindraje_auto INTEGER,

potencia_auto INTEGER,

cliente_id_cliente INTEGER NOT NULL

LOGGING;

ALTER TABLE automoviles ADD CONSTRAINT automoviles_pk PRIMARY KEY


( nit_auto );
CREATE TABLE cliente (

id_cliente INTEGER NOT NULL,

nombre_cliente NVARCHAR2(30) NOT NULL,

apellido_cliente NVARCHAR2(30) NOT NULL,

direccion_cliente NVARCHAR2(50),

ciudad_cliente NVARCHAR2(30),

sexo_cliente CHAR(2),

telefono_cliente INTEGER NOT NULL,

email_cliente NVARCHAR2(50) NOT NULL,

fecha_nacimiento DATE,

profesion_cliente NVARCHAR2(30)

LOGGING;

ALTER TABLE cliente ADD CONSTRAINT cliente_pk PRIMARY KEY ( id_cliente );

CREATE TABLE detalle_repuesto (

id_repuesto INTEGER NOT NULL,

id_pedido INTEGER NOT NULL,

cantidad INTEGER NOT NULL,

precio_unitario INTEGER NOT NULL,

descuento INTEGER

LOGGING;

ALTER TABLE detalle_repuesto ADD CONSTRAINT detalle_repuesto_pk PRIMARY KEY


( id_repuesto );

CREATE TABLE pedido (

id_pedido INTEGER NOT NULL,

id_empleado INTEGER NOT NULL,

id_cliente INTEGER NOT NULL,

cliente NVARCHAR2(30) NOT NULL,

fecha_pedido DATE NOT NULL,

fecha_envio DATE NOT NULL,


id_transportista INTEGER NOT NULL,

reparaciones_rep_num_fact INTEGER NOT NULL,

detalle_repuesto_id_repuesto INTEGER NOT NULL

LOGGING;

CREATE UNIQUE INDEX pedido__idx ON

pedido (

detalle_repuesto_id_repuesto

ASC )

LOGGING;

ALTER TABLE pedido ADD CONSTRAINT pedido_pk PRIMARY KEY ( id_pedido );

CREATE TABLE reparaciones (

rep_num_fact INTEGER NOT NULL,

rep_fecha_inicio DATE NOT NULL,

rep_fecha_fin DATE NOT NULL,

rep_telefono INTEGER NOT NULL,

rep_embragues CHAR(2),

rep_correa_distr CHAR(2),

rep_motor CHAR(2),

rep_frenos CHAR(2),

rep_otros NVARCHAR2(50),

rep_valor INTEGER NOT NULL,

cliente_id_client INTEGER NOT NULL,

revisiones_rev_num_fact INTEGER NOT NULL,

cliente_id_cliente INTEGER NOT NULL

LOGGING;

ALTER TABLE reparaciones ADD CONSTRAINT reparaciones_pk PRIMARY KEY


( rep_num_fact );

CREATE TABLE repuestos (

id_repuesto INTEGER NOT NULL,


codigo_repuesto INTEGER NOT NULL,

nombre_repuesto NVARCHAR2(30) NOT NULL,

descripcion_repuesto NVARCHAR2(50),

precio_repuesto INTEGER NOT NULL,

cantidad_repuesto INTEGER NOT NULL,

pedido_id_pedido INTEGER NOT NULL

LOGGING;

ALTER TABLE repuestos ADD CONSTRAINT repuestos_pk PRIMARY KEY ( id_repuesto


);

CREATE TABLE revisiones (

rev_num_fact INTEGER NOT NULL,

rev_fecha DATE NOT NULL,

rev_telefono INTEGER NOT NULL,

rev_cambio_aceite CHAR(2),

rev_cambio_filtro CHAR(2),

rev_cambio_frenos CHAR(2),

rev_otros NVARCHAR2(50),

rev_valor INTEGER NOT NULL,

rev_descuento INTEGER,

cliente_id_cliente INTEGER NOT NULL

LOGGING;

ALTER TABLE revisiones ADD CONSTRAINT revisiones_pk PRIMARY KEY


( rev_num_fact );

CREATE TABLE vendedor (

nit_vendedor INTEGER NOT NULL,

nombres_vend VARCHAR2(30) NOT NULL,

apellidos_vend VARCHAR2(30) NOT NULL,

domicilio_vend NVARCHAR2(50),

sexo_vend CHAR(10),

telefono_vend INTEGER
)

LOGGING;

ALTER TABLE vendedor ADD CONSTRAINT vendedor_pk PRIMARY KEY


( nit_vendedor );

CREATE TABLE ventas (

nit_venta INTEGER NOT NULL,

modopago_venta CHAR(10) NOT NULL,

fecha_entrega_venta DATE NOT NULL,

stock_venta CHAR(2) NOT NULL,

vendedor_nit_vendedor INTEGER NOT NULL,

automoviles_nit_auto INTEGER NOT NULL

LOGGING;

CREATE UNIQUE INDEX ventas__idx ON

ventas (

automoviles_nit_auto

ASC );

ALTER TABLE ventas ADD CONSTRAINT ventas_pk PRIMARY KEY ( nit_venta );

ALTER TABLE automoviles

ADD CONSTRAINT automoviles_cliente_fk FOREIGN KEY ( cliente_id_cliente )

REFERENCES cliente ( id_cliente )

NOT DEFERRABLE;

ALTER TABLE pedido

ADD CONSTRAINT pedido_detalle_repuesto_fk FOREIGN KEY


( detalle_repuesto_id_repuesto )

REFERENCES detalle_repuesto ( id_repuesto )

NOT DEFERRABLE;

ALTER TABLE pedido

ADD CONSTRAINT pedido_reparaciones_fk FOREIGN KEY


( reparaciones_rep_num_fact )
REFERENCES reparaciones ( rep_num_fact )

NOT DEFERRABLE;

ALTER TABLE reparaciones

ADD CONSTRAINT reparaciones_cliente_fk FOREIGN KEY ( cliente_id_cliente )

REFERENCES cliente ( id_cliente )

NOT DEFERRABLE;

ALTER TABLE reparaciones

ADD CONSTRAINT reparaciones_revisiones_fk FOREIGN KEY


( revisiones_rev_num_fact )

REFERENCES revisiones ( rev_num_fact )

NOT DEFERRABLE;

ALTER TABLE repuestos

ADD CONSTRAINT repuestos_pedido_fk FOREIGN KEY ( pedido_id_pedido )

REFERENCES pedido ( id_pedido )

NOT DEFERRABLE;

ALTER TABLE revisiones

ADD CONSTRAINT revisiones_cliente_fk FOREIGN KEY ( cliente_id_cliente )

REFERENCES cliente ( id_cliente )

NOT DEFERRABLE;

ALTER TABLE ventas

ADD CONSTRAINT ventas_automoviles_fk FOREIGN KEY ( automoviles_nit_auto )

REFERENCES automoviles ( nit_auto )

NOT DEFERRABLE;

ALTER TABLE ventas

ADD CONSTRAINT ventas_vendedor_fk FOREIGN KEY ( vendedor_nit_vendedor )

REFERENCES vendedor ( nit_vendedor )

NOT DEFERRABLE;

SCRIPT DML INSERCION DE DATOS

/* Vendedor*/
insert into vendedor values (1,'juan camilo','reyes','mzn a casa d
jordan','masculino',123456);

insert into vendedor values (2,'daniel felipe','villegas','diagonal 25 barrio


chapinero','masculino',78910);

insert into vendedor values (3,'luisa','gomez','terrazas del bosque apto


201','femenino',111213);

insert into vendedor values (4,'luis ','vargas','casa 40 manzana d


','masculino',141516);

insert into vendedor values (5,'monica','casas','calle 42 diagonal cc


42','femenino',171819);

/* Cliente*/

alter table cliente modify fecha_nacimiento varchar(10);

insert into cliente values (1,'Andres


camilo','linares','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values


(2,'luisa','martinez','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values


(3,'catalina','vargas','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values


(4,'miguel','cano','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values


(5,'maria','sandoval','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values (6,'camilo


','montaña','a','a','a',12345,'aa@email.com','1990/02/08','a');

insert into cliente values


(7,'jorge','duque','a','a','a',12345,'aa@email.com','1990/02/08','a');

/* Auomoviles*/

insert into automoviles values (1,'BMW','x7',55000000,'ninguno',2000,331,1);

insert into automoviles values (2,'AUDI','A4',48000000,'ninguno',3000,190,2);

insert into automoviles values


(3,'ALPINE','A110',56000000,'ninguno',5000,240,3);

insert into automoviles values (4,'ABARTH','124


spider',45000000,'ninguno',3000,320,4);

insert into automoviles values (5,'ASTON


MARTIN','rapide',65000000,'ninguno',1000,250,5);

insert into automoviles values (6,'BENTLEY


','Mulsanne',70000000,'ninguno',5000,380,6);

insert into automoviles values


(7,'CUPRA','ibiza',58000000,'ninguno',2000,250,7);

/* Ventas*/
alter table ventas modify fecha_entrega_venta varchar(10);

insert into ventas values (1,'contado','15/03/2020','si',1,1);

insert into ventas values (2,'financiera','05/04/2020','si',2,2);

insert into ventas values (3,'financiera','25/05/2020','si',3,3);

insert into ventas values (4,'contado','17/06/2020','si',2,4);

insert into ventas values (5,'contado','15/03/2020','no',2,5);

insert into ventas values (6,'financiera','15/04/2020','si',1,6);

insert into ventas values (7,'contado','15/02/2020','no',5,7);

Evidencias de la participación en el foro

Nombre Estudiante 1: HERNAN DARIO VARGAS

Nombre Estudiante 2: RAFAEL ANDRÉS GRANADOS CASTAÑO


Nombre Estudiante 5: JORGE MARIO SANTACRUZ
CONCLUSIONES

En el anterior trabajo con el informe dada los 5 ingenieros desarrollaron la


base de datos fueron muchos los conocimientos adquiridos sobre dicha
elaboración, son ventajas que se pueden sacar haciendo una buena
elaboración sobre el análisis de requerimiento y la descripción de los
atributos, de esta manera el modo de creación y con distintas formas de
organizar la información. Por último, el lenguaje SQL maneja muchos scripts
fáciles de usar, diligenciando registros, consultas, mostrando tablas
relacionadas con cualquier atributo de la BD, entiendo que tiene una elevada
capacidad y solidez para administrar la información sin fallos ni errores.
Dicho lo anterior no más queda por decir que una BD conlleva a tres tipos de
usuario que son:
 Diseñador el cual es el que administra los datos
 Desarrollador es el que implementa eh interfaces
 Usuarios finales los cuales consultan y editan los datos
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-
16-24recuperado
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

Jiménez, C. M. Y. (2014). Bases de datos relacionales y modelado de datos


(uf1471). Recuperado de
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?
ppg=16&docID=4184006&tm=1542156304402

Rodríguez, González, María Elena. Gestión de datos: bases de datos y


sistemas gestores de bases de datos, Editorial UOC, 2013. ProQuest Ebook
Central, pág. 13-38. Recuperado de
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?
ppg=31&docID=3219201&tm=1531495900319

Triana Martinez, D. (2018). Introducción Bases de Datos transaccionales


[Formato video] Recuperado de http://hdl.handle.net/10596/14503

También podría gustarte