Sunteți pe pagina 1din 20

DULCERIA

ENTREGA INICIAL
FUNDAMENTOS DE BASES DE DATOS.
RUBN JALIL RODRIGUEZ LOPEZ/
. MIGUEL ANGEL HINOJOSA DIAZ


2014

[ E s c r i b a l a d i r e c c i n d e l a c o m p a a ]
INTRODUCCION

En la materia de fundamentos de base de datos, aprendimos a elaborar de forma correcta una
base de datos.
Lo aprendido durante el semestre se ha aplicado en este trabajo con el fin de asegurar nuestro
aprendizaje.
Se tiene una descripcin del proyecto que ha grandes rasgos controlar las ventas de una
microempresa.
Para la elaboracin de esta base de datos se tom como base el modelo relacional, aplicando
primeramente el modelo E-R (entidad relacin) para su posterior traduccin al ya antes
mencionado modelo relacional, despus se aplicaron las tcnicas de normalizacin para asegurar
que nuestros datos no presentarn redundancias, tambin para mejorar la gestin y el diseo
de la base de datos.
Ya teniendo nuestra base de datos normalizada se procedi a la elaboracin de la base de datos
en un SGBD que en este caso fue el MySQL dentro de l se aplic el DDL para la definicin de
los datos. Y el DML para la manipulacin de los mismos.
DULCERA
(DULCES CASEROS)
El lugar donde se pretende aplicar el proyecto no cuenta con
tecnologa alguna para el buen control de ventas, por lo tanto no
se tiene una idea clara de que ganancias se tienen al final del da.
El proceso en las ventas es el siguiente:
El productor - la persona encargada de hacer el dulce- elabora
una cantidad considerable de dulce sin tener realmente
contabilizado el producto, solo teniendo la idea de que ste rinda
para el da.
Enseguida las personas encargadas de vender en las calles,
tiendas de abarrotes etc. Vienen y obtienen el producto dejando
ya en ste momento una ganancia al productor, sin que ste lleve
un control acertado de lo ya vendido y lo que gan.
Es por eso que se le propondr al dueo del negocio implementar
una base de datos en dicho lugar para tener un control eficiente
de todos los movimientos que sugiere la venta de su producto.

UBICACIN.









MODELO ENTIDAD
RELACION





Venta
IdDulce IdCliente cantidad IdVenta fechaVenta Total
Modelo Relacional

Dulce
IdDulce Tipo Cantidad Precio



D-I
IdDulce IdIngrediente cantidad



Ingrediente
IdIngrediente nombre Existencia Precio















Cliente
IdCliente Nombre Telefono Direccion

Normalizacin









Dulce
IdDulce Tipo Cantidad Precio
1 Palanqueta 20 16
2 Cocada 25 18
3 Alegria 25 20
4 Manzanas
con chile
15 20










Ingrediente
IdIngrediente nombre Existencia Precio
11 Cacahuate 3 35
12 Ajonjol 4 40
13 Coco 2 45
14 Semilla de
calabaza
4 20
15 Azcar 9 9
16 Saborizante 1 18
17 Colorante 1 20
18 Manzana 1 13
19 Chile en
polvo
1 15
20 Chamoy 2 25

D-I
IdDulce IdIngrediente cantidad
1 11,15 Un kilo de cacahuate,
un kilo de azucar
2 13,15,16,17 Un kilo de coco, un kilo
de azcar, 10 gramos
de saborizante, 10
gramos de colorante
3 12,14,15 Un kilo de ajonjol, un
kilo de semilla, un kilo
de azucar
4 15,18,19,20 Dos kilos de manzana,
un kilo de azcar, un
kilo de chile y medio kilo
de chamoy







Cliente
IdCliente Nombre Telefono Direccion
21 Juan lopez 7471234532 Col. San Mateo
22 Maria Perez 7471839284 Col. Centro
23 Juana Brito 7471122112 Col. Guerrero 200
24 Cristian Juarez 7471757375 Col. 20 de Nov.
25 Grecia
Ramirez
7471231842 Col. Jacarandas


Venta
IdCliente IdDulce cantidad IdVenta
21 1 3 31
21 2 5 31
21 4 4 31
23 2 2 32
23 1 5 32
23 4 3 32
24 3 3 33
24 4 5 33
24 1 5 33
Primera Forma Normal

D-I
IdDulce IdIngrediente cantidad
1 11 Un kilo de cacahuate,
1 15 Un kilo de azucar
2 13 Un kilo de coco
2 15 Un kilo de azcar
2 16 10 gramos de
saborizante
2 17 10 gramos de colorante
3 12 Un kilo de ajonjol
3 14 Un kilo de semilla
3 15 Un kilo de azucar
4 18 Dos kilos de manzana
4 15 Un kilo de azucar
4 19 Un kilo de chile
4 20 Medio de chamoy


Existen algunas redundancias pero son necesarias

Segunda Forma Normal

Venta
IdCliente IdDulce cantidad IdVenta
21 1 3 31
21 2 5 31
21 4 4 31
23 2 2 32
23 1 5 32
23 4 3 32
24 3 3 33
24 4 5 33
24 1 5 33
Descomponiendo

Venta-Cliente
IdVenta IdCliente
31 21
32 23
33 24








Venta
IdVenta IdDulce cantidad fechaVenta total
31 1 3 2014-06-17 48

31 2 5 2014-06-17 90
31 4 4 2014-06-17 80
32 2 2 2014-05-03 80
32 1 5 2014-05-03 36
32 4 3 2014-05-03 60
33 3 3 2014-07-16 80
33 4 5 2014-07-16 60
33 1 5 2014-07-16 100


Existe redundancia pero es necesaria porque si se descompone ms existiran atributos
multivaluados.
Tercera Forma Normal

Ya se encuentra en tercera forma normal ya que cumple con la segunda forma normal.

Cuarta Forma Normal y Quinta Forma Normal

No se aplica la cuarta ni la quinta forma normal porque no existen relaciones ternarias y cumple
con las dems condiciones.
Venta-Cliente
IdVenta IdCliente
D-I
IdDulce IdIngrediente cantidad
Dulce
IdDulce Tipo Cantidad Precio

MODELO RELACIONAL NORMALIZADO









Cliente
IdCliente Nombre Telefono Direccion








Venta
IdVenta IdDulce cantidad Fechaventa total

















Ingrediente
IdIngrediente nombre Existencia Precio
CLIENTE: ste es el nombre de nuestra entidad donde agregaremos datos de las
personas que consuman frecuentemente nuestros productos.
Comencemos con la tabla-entidad CLIENTE.
DICCIONARIO DE DATOS.
En ste segmento analizaremos los datos(nombre de atributos,
entidades, relaciones etc. ) de nuestra base de datos.











Atributo Tipo Descripcin
idCliente entero es el identificador nico para cada uno de nuestros clientes
Nombre carcter Es el nombre(de pila por decirlo de alguna forma) de cada
uno de nuestros clientes por ejemplo: Juan, Pedro etc.
Telfono caracter Es el campo que contiene el numero telefnico de nuestros
clientes para una posterior llamada si se desea.
Direccin caracter Direccin fsica de nuestros clientes (localizacin de su
hogar).



Atributo Tipo Descripcin
idVenta entero identificador nico para cada venta
iDdulce caracter identificador nico de cada uno de los dulces (est en sta
tabla por la relacin que existe entre la entidad venta y la
entidad dulce) (dicha tabla se describir ms adelante).
cantidad caracter el nmero de dulces adquiridos en la compra.
fechaVenta caracter fecha especfica en que se realiz la venta
total entero Es el monto total que se obtuvo(o se gener) al vender el
dulce en una venta en especfico.
VENTA: ste es el nombre de nuestra entidad donde tendremos los detalles de cada una
de nuestras ventas.




Atributo Tipo Descripcin
idVenta entero identificador nico para la venta efectuada
IdCliente entero identificador nico para el cliente









INGREDIENTE: ste es el nombre de la entidad que describe cada uno de los
ingredientes con los que se elaborarn los diferentes dulces.
Atributo Tipo Descripcin
idIngrediente entero Identificador nico para cada ingrediente.
nombre carcter describe el nombre de cada ingrediente por ejemplo
cacahuate, semilla etc.
Existencia entero describe si se cuenta con el ingrediente en trminos de
Kg.
precio entero Describe el costo de adquirir un ingrediente.

Atributo Tipo Descripcin
idDulce entero identificador nico para el dulce creado o en existencia
tipo caracter Muestra el tipo(ya sea palanqueta, cocada etc) del dulce
elaborado.
cantidad entero Describe o muestra el nmero de dulces en existencia.
precio entero Describe el costo de cada uno de los dulces.
VENTA-CLIENTE: ste es el nombre que decidimos ponerle a la relacin directa entre la venta
realizada con quien hizo la misma que en este caso nombramos CLIENTE
DULCE: ste es el nombre que elegimos para nuestra entidad que describe nuestro
producto que en nuestro caso son precisamente los dulces caseros antes mencionados
en el apartado de descripcin.
D-I: ste es el nombre que decidimos utilizar para la relacin que se obtiene entre el
dulce y los ingredientes que los conforman.

Atributo Tipo Descripcin
idDulce entero Identificador nico para cada dulce.
idIngrediente entero identificador nico para cada ingrediente
cantidad entero Expresa la porcin que se utiliza para la realizacin de un
dulce en especfico.



BASE DE DATOS RELACIONAL EN SQL
a)Lenguaje de definicin de datos (DDL).
Creacin de la base de datos en nuestro caso la nombramos
proyecto.
mysql> create database proyecto;
Query OK, 1 row affected (0.15 sec)















Ya creada la base de datos se accionar
el comando use para manipular la base.
mysql> use proyecto;
Database changed
Enseguida se empezar con la creacin de nuestras tablas.
mysql> create table venta (IdVenta int primary key, IdDulce int,
cantidad int, c
onstraint fk_dulce foreign key (IdDulce) references dulce (IdDulce));
Query OK, 0 rows affected (0.19 sec)


Tabla dulce:





Tabla venta:
Tabla cliente:
mysql> create
varchar (30),
table cliente (IdCliente int primary key, nombre
tel
efono varchar (15), direccion varchar (30));
Query OK, 0 rows affected (0.59 sec)
mysql> create table dulce (IdDulce int primary key, tipo varchar
(30), cantidad
int, precio int);
Query OK, 0 rows affected (0.10 sec)

Tabla ventaCliente.




mysql> create table ventaCliente (IdVenta int, IdCliente int,
constraint pk_vent
clien primary key (IdVenta, IdCliente), constraint fk_vent foreign key
(IdVenta)
Tabla ingrediente:



Tabla d_i (dulce-ingrediente)


mysql> create table ingrediente (IdIngrediente int primary key, nombre
varchar (
30), existencia int, precio int);
Query OK, 0 rows affected (0.05 sec)
mysql> create table D_I (IdDulce int, IdIngrediente int, cantidad
varchar (40),
constraint pk_dulIng primary key (IdDulce, IdIngrediente), constraint
fk_dul for
eign key (IdDulce) references dulce (IdDulce), constraint fk_ing
foreign key (Id
Ingrediente) references ingrediente (IdIngrediente));
Query OK, 0 rows affected (0.19 sec)

BASE DE DATOS RELACIONAL EN ORACLE
a) Lenguaje de definicin de datos (DDL).






























Para empezar con la creacin de nuestro modelado en Oracle primero debemos logearnos en la
lnea de comandos como system

Enseguida debemos crear nuestro esquema o usuario para poder empezar a trabajar en la elaboracin de
nuestro modelo.
Seguido de esto debemos dar permisos a nuestro usuario para poder logearnos con dicho usuario de lo contrario
nunca podremos acceder, esto se hace con el mismo usuario system por medio de la siguiente instruccin:
Ya agregados los permiso de inicio de sesin debemos ahora brindarle privilegios para poder crear tablas y dems
herramientas a nuestra base de datos, de lo contrario no podremos manipular nada.
Ahora nos desconectamos como usuario system e iniciamos sesin con el nuevo usuario que hemos creado al que
ya le hemos dado privilegios para dicha accin.
Ya que hemos logrado conectarnos empezaremos con la creacin de nuestras tablas, como se muestra enseguida.





EN ESTE CASO LA TABLA SE ALTER POR QUE EN EL CODIGO SE OMITIO LA LLAVE FORANEA, AGREGANDO LAS SIGUIENTES LINEAS
DE CODIGO:
































}








Ya hemos creado nuestras tablas y antes de introducir datos para la manipulacin del esquema, debemos tener
consideraciones para una buena interaccin con el mismo, enseguida crearemos ndices los cuales nos sirven para al
momento de ser necesarias hacer consultas sobre el esquema, stas sean ms rpidas.
Ahora crearemos una secuencia la cuale se emplea para generar valores enteros secuenciales nicos y asignrselos a
campos numricos; se utilizan generalmente para las claves primarias de las tablas garantizando que sus valores no se
repitan

S-ar putea să vă placă și