Base de Datos en Mysql y Oracle2

DULCERIA ENTREGA INICIAL FUNDAMENTOS DE BASES DE DATOS. . RUBÉN JALIL RODRIGUEZ LOPEZ/ MIGUEL ANGEL HINOJOSA DIAZ 201

Views 142 Downloads 3 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

DULCERIA

ENTREGA INICIAL FUNDAMENTOS DE BASES DE DATOS. .

RUBÉN JALIL RODRIGUEZ LOPEZ/ MIGUEL ANGEL HINOJOSA DIAZ

2014

[Escriba la dirección de la compañí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 descripción del proyecto que ha grandes rasgos controlará las ventas de una microempresa. Para la elaboración de esta base de datos se tomó como base el modelo relacional, aplicando primeramente el modelo E-R (entidad relación) para su posterior traducción al ya antes mencionado modelo relacional, después se aplicaron las técnicas de normalización para asegurar que nuestros datos no presentarán redundancias, también para mejorar la gestión y el diseño de la base de datos. Ya teniendo nuestra base de datos normalizada se procedió a la elaboración de la base de datos en un SGBD que en este caso fue el MySQL dentro de él se aplicó el DDL para la definición de los datos. Y el DML para la manipulación de los mismos.

DULCERÍA (DULCES CASEROS)

El lugar donde se pretende aplicar el proyecto no cuenta con tecnología alguna para el buen control de ventas, por lo tanto no se tiene una idea clara de que ganancias se tienen al final del día. 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 día. 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 dueño 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. UBICACIÓN.

MODELO ENTIDAD RELACION

Modelo Relacional Dulce IdDulce

Tipo

Cantidad

Precio

D-I IdDulce

Ingrediente IdIngrediente nombre Existencia

Precio

Venta IdDulce

IdVenta

Cliente IdCliente

IdCliente

cantidad

Nombre Telefono

Direccion

IdIngrediente

fechaVenta Total

cantidad

Normalización

Dulce IdDulce 1 2 3 4

Tipo Palanqueta Cocada Alegria Manzanas con chile

Ingrediente IdIngrediente 11 12 13 14 15 16 17 18 19 20

Cantidad 20 25 25 15

nombre Cacahuate Ajonjolí Coco Semilla de calabaza Azúcar Saborizante Colorante Manzana Chile en polvo Chamoy

Precio 16 18 20 20

Existencia 3 4 2 4

Precio 35 40 45 20

9 1 1 1 1

9 18 20 13 15

2

25

D-I IdDulce 1

IdIngrediente 11,15

2

13,15,16,17

3

12,14,15

4

15,18,19,20

Cliente IdCliente 21 22 23 24 25

Venta IdCliente 21 21 21 23 23 23 24 24 24

cantidad Un kilo de cacahuate, un kilo de azucar Un kilo de coco, un kilo de azúcar, 10 gramos de saborizante, 10 gramos de colorante Un kilo de ajonjolí, un kilo de semilla, un kilo de azucar Dos kilos de manzana, un kilo de azúcar, un kilo de chile y medio kilo de chamoy

Nombre Juan lopez Maria Perez Juana Brito Cristian Juarez Grecia Ramirez

IdDulce 1 2 4 2 1 4 3 4 1

Telefono 7471234532 7471839284 7471122112 7471757375 7471231842

cantidad 3 5 4 2 5 3 3 5 5

Direccion Col. San Mateo Col. Centro Col. Guerrero 200 Col. 20 de Nov. Col. Jacarandas

IdVenta 31 31 31 32 32 32 33 33 33

Primera Forma Normal D-I IdDulce 1 1 2 2 2

IdIngrediente 11 15 13 15 16

2 3 3 3 4 4 4 4

17 12 14 15 18 15 19 20

cantidad Un kilo de cacahuate, Un kilo de azucar Un kilo de coco Un kilo de azúcar 10 gramos de saborizante 10 gramos de colorante Un kilo de ajonjolí Un kilo de semilla Un kilo de azucar Dos kilos de manzana Un kilo de azucar Un kilo de chile Medio de chamoy

Existen algunas redundancias pero son necesarias Segunda Forma Normal Venta IdCliente IdDulce 21 1 21 2 21 4 23 2 23 1 23 4 24 3 24 4 24 1 Descomponiendo

cantidad 3 5 4 2 5 3 3 5 5

IdVenta 31 31 31 32 32 32 33 33 33

Venta-Cliente IdVenta IdCliente 31 21 32 23 33 24

Venta IdVenta 31

IdDulce 1

cantidad 3

fechaVenta 2014-06-17

total 48

31 31 32 32 32 33 33 33

2 4 2 1 4 3 4 1

5 4 2 5 3 3 5 5

2014-06-17 2014-06-17 2014-05-03 2014-05-03 2014-05-03 2014-07-16 2014-07-16 2014-07-16

90 80 80 36 60 80 60 100

Existe redundancia pero es necesaria porque si se descompone más existirían 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 demás condiciones.

MODELO RELACIONAL NORMALIZADO

Cliente IdCliente

Nombre

Telefono

Direccion

Venta-Cliente IdVenta IdCliente

Venta IdVenta

Dulce IdDulce

IdDulce

Tipo

cantidad

Fechaventa

Cantidad

Precio

D-I IdDulce

Ingrediente IdIngrediente nombre

Existencia

total

IdIngrediente

Precio

cantidad

DICCIONARIO DE DATOS. En éste segmento analizaremos los datos(nombre de atributos, entidades, relaciones etc. ) de nuestra base de datos. Comencemos con la tabla-entidad “CLIENTE”. CLIENTE: Éste es el nombre de nuestra entidad donde agregaremos datos de las personas que consuman frecuentemente nuestros productos. Atributo idCliente Nombre

Tipo entero carácter

Teléfono

caracter

Dirección

caracter

Descripción es el identificador único para cada uno de nuestros clientes Es el nombre(de pila por decirlo de alguna forma) de cada uno de nuestros clientes por ejemplo: Juan, Pedro etc. Es el campo que contiene el numero telefónico de nuestros clientes para una posterior llamada si se desea. Dirección física de nuestros clientes (localización de su hogar).

VENTA: Éste es el nombre de nuestra entidad donde tendremos los detalles de cada una de nuestras ventas. Atributo idVenta iDdulce

Tipo entero caracter

cantidad fechaVenta total

caracter caracter entero

Descripción identificador único para cada venta identificador único de cada uno de los dulces (está en ésta tabla por la relación que existe entre la entidad venta y la entidad dulce) …(dicha tabla se describirá más adelante). el número de dulces adquiridos en la compra. fecha específica en que se realizó la venta Es el monto total que se obtuvo(o se generó) al vender el dulce en una venta en específico.

VENTA-CLIENTE: Éste es el nombre que decidimos ponerle a la relación directa entre la venta realizada con quien hizo la misma que en este caso nombramos “CLIENTE”

Atributo idVenta IdCliente

Tipo entero entero

Descripción identificador único para la venta efectuada identificador único para el 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 descripción. Atributo idDulce tipo

Tipo entero caracter

cantidad precio

entero entero

Descripción identificador único para el dulce creado o en existencia Muestra el tipo(ya sea palanqueta, cocada etc) del dulce elaborado. Describe o muestra el número de dulces en existencia. Describe el costo de cada uno de los dulces.

INGREDIENTE: Éste es el nombre de la entidad que describe cada uno de los ingredientes con los que se elaborarán los diferentes dulces. Atributo Tipo idIngrediente entero nombre carácter Existencia

entero

precio

entero

Descripción Identificador único para cada ingrediente. describe el nombre de cada ingrediente por ejemplo cacahuate, semilla etc. describe si se cuenta con el ingrediente en términos de Kg. Describe el costo de adquirir un ingrediente.

D-I: Éste es el nombre que decidimos utilizar para la relación que se obtiene entre el dulce y los ingredientes que los conforman.

Atributo idDulce idIngrediente cantidad

Tipo entero entero entero

Descripción Identificador único para cada dulce. identificador único para cada ingrediente Expresa la porción que se utiliza para la realización de un dulce en específico.

BASE DE DATOS RELACIONAL EN SQL a)Lenguaje de definición de datos (DDL). Creación 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 creación de nuestras tablas.

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

Tabla dulce: mysql> create table dulce (IdDulce int primary key, tipo varchar (30), cantidad int, precio int); Query OK, 0 rows affected (0.10 sec)

Tabla venta: 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 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: mysql> create table ingrediente (IdIngrediente int primary key, nombre varchar ( 30), existencia int, precio int); Query OK, 0 rows affected (0.05 sec)

Tabla d_i (dulce-ingrediente) 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 definición de datos (DDL). Para empezar con la creación de nuestro modelado en Oracle primero debemos “logearnos” en la línea de comandos como “system”

Enseguida debemos crear nuestro esquema o usuario para poder empezar a trabajar en la elaboración 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 instrucción:

Ya agregados los permiso de inicio de sesión debemos ahora brindarle privilegios para poder crear tablas y demás herramientas a nuestra base de datos, de lo contrario no podremos manipular nada.

Ahora nos desconectamos como usuario system e iniciamos sesión con el nuevo usuario que hemos creado al que ya le hemos dado privilegios para dicha acción.

Ya que hemos logrado conectarnos empezaremos con la creación 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 manipulación del esquema, debemos tener consideraciones para una buena interacción con el mismo, enseguida crearemos índices los cuales nos sirven para al momento de ser necesarias hacer consultas sobre el esquema, éstas sean más rápidas.

}

Ahora crearemos una secuencia la cuale se emplea para generar valores enteros secuenciales únicos y asignárselos a campos numéricos; se utilizan generalmente para las claves primarias de las tablas garantizando que sus valores no se repitan