You are on page 1of 25

Contenido

Reporte en mysql ................................................................................................................................ 3


Creacin de las tablas para la base de datos ..................................................................................... 4
Creacin del modelo relaccional ......................................................................................................... 6
Orden de creacin ............................................................................................................................... 7
Cdigo generado revisando integridad por cada tabla ....................................................................... 8
Seguridad........................................................................................................................................... 15
Consultas ........................................................................................................................................... 21
Reporte en mysql
Creacin de las tablas para la base de datos
Creacin de las tablas con (Integridad)

tb_Tipo_Ganado
atributos Tipo de dato constraints
Id_Ganado INT PRIMARY KEY
Descripcion_Ganado VARCHAR (15) NOT NULL UNIQUE

tb_Tipo_Raza
atributos Tipo de dato constraints
Id_Tipo_De_Raza INT PRIMARY KEY
Descripcion_Raza VARCHAR (15) NOT NULL UNIQUE

tb_Socio
atributos Tipo de dato constraints
Id_Socio INT PRIMARY KEY
Nombre VARCHAR (15) NOT NULL,UNIQUE
A_Paterno VARCHAR (20) NOT NULL
A_Materno VARCHAR (20) NOT NULL
Estado VARCHAR (20) NOT NULL
Ciudad VARCHAR (20) NOT NULL
Municipio VARCHAR (20) NOT NULL
Colonia VARCHAR (15) NOT NULL
Calle VARCHAR (25) NOT NULL
Rfc VARCHAR (16) NOT NULL, UNIQUE
Edad INT NOT NULL, CHECK
Sexo INT NOT NULL ,CHECK
Telefono VARCHAR (10) NULL, DEFAULT, UNIQUE
Correo VARCHAR (45) NULL, DEFAULT, UNIQUE

tb_Rancho
atributos Tipo de dato constraints
Id_Rancho INT PRIMARY KEY
Descripcion_Raza VARCHAR (20) NOT NULL
Nombre VARCHAR (20) NOT NULL
Estado VARCHAR (20) NOT NULL
Ciudad VARCHAR (20) NOT NULL
Municipio VARCHAR (20) NOT NULL
Extencion FLOAT NOT NULL, CHECK
tb_Ganado
atributos Tipo de dato constraints
Id_Ganado INT PRIMARY KEY
Peso FLOAT NOT NULL, CHECK
Color VARCHAR(15) NOT NULL
Edad VARCHAR (20) NOT NULL, CHECK
Sexo VARCHAR (1) NOT NULL, CHECK
Creacin del modelo relaccional
Orden de creacin
Cdigo generado revisando integridad por cada tabla
CREATE DATABASE control_ganado

CHARACTER SET utf8

COLLATE utf8_spanish_ci

CREATE TABLE tb_Tipo_Ganado

Id_Ganado INT PRIMARY KEY NOT NULL UNIQUE,

Descripcion_Ganado VARCHAR (15)NOT NULL UNIQUE

No puede haber dos ID iguales

(Todas las tablas tiene la misma


restriccin UNIQUE en la llave
primaria)
No puede haber dos
tipos de ganados
iguales utilizamos el
constraint UNIQUE

CREATE TABLE tb_Tipo_Raza

Id_Tipo_De_Raza INT PRIMARY KEY NOT NULL,

Descripcion_Raza VARCHAR(15)NOT NULL UNIQUE,

Id_Ganado INT NOT NULL,

FOREIGN KEY (Id_Ganado) REFERENCES tb_Tipo_Ganado (Id_Ganado)

Las referencias funcionan


perfectamente
CREATE TABLE tb_Socio

Id_Socio INT PRIMARY KEY ,

Nombre VARCHAR (20)NOT NULL,

A_Paterno VARCHAR (20) NOT NULL,

A_Materno VARCHAR (20) NOT NULL,

Estado VARCHAR (20) NOT NULL,

Ciudad VARCHAR (20) NOT NULL,

Municipio VARCHAR (20) NOT NULL,

Colonia VARCHAR(15)NOT NULL,

Calle VARCHAR(25)NOT NULL,

Rfc VARCHAR (16) NOT NULL UNIQUE,

Edad INT NOT NULL CHECK (Edad BETWEEN 15 AND 100),

Sexo VARCHAR (1) NOT NULL CHECK(Sexo IN ('M', 'F')),

Telefono VARCHAR (10)NULL DEFAULT '000000000' UNIQUE ,

Correo VARCHAR (40) NULL DEFAULT '@.mx' UNIQUE

Podemos notar que el atributo (telfono y correo) tienen el default


este error es debido ( Rfc VARCHAR (16) NOT NULL UNIQUE) por que tiene unique no puede
haber 2 RFC iguales
marca error debido (Telefono VARCHAR (10)NULL DEFAULT '000000000' UNIQUE )

no puede haber 2 telefonos iguales

En esta creacin de la base datos hay varios atributos con el CHECK en


distintas tablas al ejeutarlo no hace ruido pero el constraint no funciona
CREATE TABLE tb_Rancho

Id_Rancho INT PRIMARY KEY ,

Nombre VARCHAR (20)NOT NULL,

Estado VARCHAR (20) NOT NULL,

Ciudad VARCHAR (20) NOT NULL,

Municipio VARCHAR (20) NOT NULL,

Extencion FLOAT NOT NULL CHECK (Extencion>0),

Id_Socio INT NOT NULL,

FOREIGN KEY (Id_Socio) REFERENCES tb_Socio(Id_Socio)

Podemos notar que la creacin de la tabla fue un xito y se relaciona con la tabla socio
CREATE TABLE tb_Ganado

Id_Ganado INT PRIMARY KEY,

Peso FLOAT NOT NULL CHECK (Peso>0.0),

color VARCHAR (15) NOT NULL,

Edad INT NOT NULL CHECK (Edad BETWEEN 0 AND 30) ,

Sexo VARCHAR (1) NOT NULL CHECK(Sexo IN ('H', 'M')),

Id_Tipo_De_Raza INT NOT NULL,

FOREIGN KEY (Id_Tipo_De_Raza) REFERENCES tb_Tipo_Raza (Id_Tipo_De_Raza),

Id_Rancho INT NOT NULL,

FOREIGN KEY (Id_Rancho) REFERENCES tb_Rancho (Id_Rancho)

La tabla fue creada sin algn detalle


Seguridad

a) Se desea crear un usuario que administre la totalidad del sistema.


Nombre de la tabla PERMISO
I S D P

tb_Tipo_Ganado
tb_Tipo_Raza
tb_Socio
tb_Rancho
tb_Ganado
B) Se desea crear un ususario que tenga la opcion de cambiar la tabla
tipo_ganado.

Nombre de la tabla PERMISO


I S D P

tb_Tipo_Ganado
No se pueden manipular otras tablas

c) Se desea tener un usuario que solo pueda consultar un sistema

Nombre de la tabla PERMISO


I S D P

tb_Tipo_Ganado
tb_Tipo_Raza
tb_Socio
tb_Rancho
tb_Ganado
A atributo color intentamos Modificar y nos manda este mensaje de error ya que el usuario no
tiene este permiso
d) Se desea tener un usuario que administre a los socios y a la de ganado
Nombre de la tabla PERMISO
I S D P

tb_Socio
tb_Ganado
e) Se desea tener un usuario que administre los usuarios los ranchos
Consultas
/*1.Ejemplo de consulta utilizando un Select, en esta consulta seleccionaremos
Todos los campos de la tabla tb_Tipo_Raza por la Descripcion_Raza del menor al mayor.*/

SELECT* FROM tb_Tipo_Raza ORDER BY Descripcion_Raza

/*2.- En el siguiente ejemplo te mostraremos como realizar una consulta seleccionada


solo ciertos campos determinados de la tabla Socio
y solo seleccionaremos Nombre, Apellido paterno, y Apellido Matreno. */

SELECT Nombre,A_Paterno,A_Materno FROM tb_Socio

/*3.- En ese ejemplo de consulta utilizando un alias (AS) esto permite que la columna
Sea ms fcil de identificar. Seleccionaremos en la tabla rancho Nombre al cual le
Pondremos Nombre del Rancho y Extensin al cual tendr como nombre rea del
rancho.*/

SELECT Nombre AS'Nombre del Rancho', Extencion AS 'Area del rancho' FROM tb_Rancho
4.- Ahora aremos una consulta combinada para saber el nombre del autor
ya que solo nos muestra el cdigo del ganado mas no el nombre para esto
utilizaremos un JOIN y las ordenaremos la tabla con los nombres de los
ranchos

select a.Id_Rancho, a.Nombre as ' Nombre_Rancho', a.Estado,a.Ciudad,


a.Municipio,
a.Extencion as 'Area del Rancho',
cb.Nombre as 'Nombre del Socio'
from tb_Rancho as a
join tb_Socio as cb on a.Id_Socio = cb.Id_Socio
order by a.Nombre asc

6.- Realizar una consulta la cual nos muestre el nombre del rancho en la
tabla tb_Ganado y su raza.

select ga.Id_Ganado,
non.Nombre as 'Nombre del rancho',
ra.Descripcion_Raza as 'Tipo De Raza',
ga.Peso, ga.color, ga.Edad, ga.Sexo
from tb_Ganado as ga
join tb_Rancho as non on ga.Id_Rancho=non.Id_Rancho
join tb_Tipo_Raza as ra on ga.Id_Tipo_De_Raza=ra.Id_Tipo_De_Raza
7.- Alterar a la tabla tb_Rancho agregndole una nueva columna la cual
sea Telefono del rancho la cual ser abreviada de la siguiente forma
Tel_Ranch y mostrar los resultados.

alter table tb_Rancho


add Tel_Ranch varchar(10) null;

select * from tb_Rancho


8.-Realice una consulta la cual selecciones todos las razas del ganado
y los ordene por el Tipo De Ganado de menor a mayor.

select a.Id_Tipo_De_Raza, a.Descripcion_Raza as 'Tipo De Raza',


b.Descripcion_Ganado as 'Tipo de Ganado'
from tb_Tipo_Raza as a
JOIN tb_Tipo_Ganado as b on a.Id_Ganado = b.Id_Ganado
order by Descripcion_Ganado asc

9.- Realice una consulta la cual muestre tipo de raza y en que rancho se
encuentra adems el sexo.

select a.Id_Ganado,
b.Nombre as 'Nombre del Rancho',
c.Descripcion_Raza as 'Tipo de Raza',
a.Sexo
from tb_ganado as a
join tb_Rancho as b on a.Id_Rancho=b.Id_Rancho
join tb_Tipo_Raza as c on a.Id_Tipo_De_Raza = c.Id_Tipo_De_Raza
10.- Seleccionar a todos los socios cuyo Nombre suene el especificado
SUNDEX
select Id_Socio, Nombre, A_Paterno,A_Materno
from tb_Socio
where SOUNDEX (Nombre)= SOUNDEX ('eduardo')

11.- Seleccionar a todos los usuarios y ordenarlos en forma alfabtica.

select * from tb_Socio


order by Nombre

12.- Seleccionar socios que tenga ms de 19 pginas pero menos de 20.

select Nombre, A_Paterno, A_Materno, Estado, Ciudad,Municipio,


Colonia,Calle,Rfc,Edad,Sexo,Telefono,Correo FROM tb_Socio

where Edad >18 and Edad <20

13.- En esta consulta se utilizara el operador lgico OR.


Para mostrar el tipo de ganado que tenga una edad de 1 y 5.

select Id_Ganado,Id_Tipo_De_Raza,Id_Rancho,Peso,color,Edad,Sexo
from tb_Ganado
where (Edad >1 or Edad <5)
14.- Seleccionar los nombres en la tabla Socio que contengan la letra E
dentro de su nombre.

select Id_Socio,Nombre from tb_Socio


where Nombre Like'%E%'

15.- Mostrar a los ranchos y a que socio pertenecen en el rancho Rancho


Viejo.

select aa.Id_Rancho,aa.Nombre as 'Nombre Del Rancho', aa.Estado,


aa.Ciudad, aa.Municipio, aa.Extencion, aa.Tel_Ranch, bb.Nombre as 'Nombre
del socio'
from tb_Rancho as aa
join tb_Socio as bb on aa.Id_Socio=bb.Id_Socio
where aa.Id_Rancho='5'
order by aa.Nombre asc

16.- Seleccionaremos los Ranchos que estn en estado de Hgo utilizando


BETWEEN para ver que
ranchos se encuentran en dicho estado.

SELECT Id_Rancho, Nombre , Estado,Ciudad, Municipio, Extencion, Tel_Ranch


Id_Socio FROM tb_Rancho
WHERE Estado BETWEEN 'Hgo' AND 'Hgo'

You might also like