Sunteți pe pagina 1din 4

CENTRO DE ESTUDIOS EMSSANAR

CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO

GUIA DE AULA No. 3 – APLICACIÓN DE LAS DIFERENTES RESTRICCIONES EN LA CREACION DE TABLAS EN


MYSQL

PROGRAMA: Sistemas y computación I.H.S 4 T.H 64


MATERIA : Bases de Datos II
SEMESTRE: Cuarto
RESPONSABLES: Juan Agreda y Francisco Caicedo Narváez

ESTANDARES

 Aplicar las diferentes palabras reservadas y adecuadas para el diseño que se haya especificado en las
relaciones entre tablas.
 Creación de tuplas utilizando el comando INSERT.

RECUPERACION DE SABERES Y EXPERIENCIAS PREVIAS

Tener conocimientos sobre la creación bases de datos, tablas, creación de índices primarios y foráneos.
Modificación y Eliminación de campos.

INCORPORACION DE NUEVA INFORMACION

Comandos Adicionales de MySQL:

DROP DATABASE nom_bd; Instrucción sql para eliminar una Base de Datos
Ej: DROP DATABASE hospital;
DROP TABLE nom_tabla; Instrucción sql para eliminar una tabla.
DROP TABLE pais;
CREATE TABLE nom_tabla Instrucción sql para crear una tabla con un campo que
(nom_atributo tipo_dato restricciones DEFAULT tomara un valor por defecto.
valor, Ej: CREATE TABLE libro(
. . . , Cod_libro int(5) primary key,
nom_atributo tipo_dato restricciones) ; Idioma_libro varchar(30) DEFAULT ‘ESPAÑOL’,
Nro_pags_libro int(3) not null);
CREATE TABLE nom_tabla Instrucción sql para crear una tabla, estableciendo el
(nom_atributo tipo_dato . . índice primario al finalizar la declaración de campos.
. , Ej: CREATE TABLE libro(
nom_atributo tipo_dato restricciones, Cod_libro int(5),
PRIMARY KEY(nom_atributo)); Idioma_libro varchar(30),
Nro_pags_libro int(3) not null,
PRIMARY KEY(cod_libro));
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO

CREATE TABLE nom_tabla Instrucción sql para crear una tabla, estableciendo que el
(nom_atributo tipo_dato_num autoincremento valor de un campo sea autoincrementable.
. . . , Ej: CREATE TABLE libro(
nom_atributo tipo_dato restricciones, Cod_libro int AUTO_INCREMENT primary key,
PRIMARY KEY(nom_atributo)); Idioma_libro varchar(30),
Nro_pags_libro int(3) not null,
PRIMARY KEY(cod_libro));

NOTA: Existen Algunas versiones de MySQL que no soportan la integridad referencial, por lo tanto es necesario
definir un tipo de tablas InnoDB.

Tabla Principal: (Donde está el campo Primario)

CREATE TABLE persona (


id_per INT AUTO_INCREMENT PRIMARY KEY,
Nombre_per VARCHAR(40),
Fecha_per DATE)
ENGINE=InnoDB;

Tabla Secundaria: (Donde está el campo Foraneo que permite la relación entre la tabla persona y la tabla
telefono)

CREATE TABLE telefono (


Numero_tel CHAR(12) PRIMARY KEY,
id_tel INT NOT NULL,
id_per INT NOT NULL,
FOREIGN KEY (id_per) REFERENCES persona (id_per)
ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE=InnoDB;

Las palabras reservadas ON DELETE CASCADE ON UPDATE CASCADE La definición incluye las tareas a realizar en
el caso de que se elimine una fila en la tabla 'persona'. Esto quiere decir que si se elimina un registro de la tabla
persona y este está siendo usado por la tabla teléfono, los registro relacionados de esta ultima serán eliminados o
modificados según sea el caso.

Sentencias SQL para insertar registros: Se utiliza la siguiente sintaxis:

INSERT INTO nom_tabla(campo1, campo2…campoN) VALUES(valor1, valor2,….. valorN);

INSERT INTO nom_tabla VALUES(valor1, valor2,….. valorN);

NOTA: La Ultima instrucción siguiendo el orden de creación de los campos en la tabla.


CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO

INSERT INTO nom_tabla VALUES


(valor1, valor2,….. valorN),
(valor1, valor2,….. valorN),
(valor1, valor2,….. valorN);

Ej: INSERT INTO libro VALUES( 1, ‘ESPAÑOL’, 120 );

Sentencias SQL para hacer cálculos con los registros: Se utiliza la siguiente sintaxis:

SELECT campos/campo FROM tabla/tablas Instrucción sql para ordenar registros de menor a mayor. EJ:
ORDER BY nom_campo; SELECT * FROM pais ORDER BY nom_pais;
SELECT campos/campo FROM tabla/tablas Instrucción sql para ordenar registros de mayor a menor. EJ:
ORDER BY nom_campo DESC; SELECT * FROM pais ORDER BY nom_pais DESC;
SELECT campos/campo Instrucción sql para buscar registros que lleven las letras(s)
FROM tabla/tablas indicadas. Ej:
LIKE ‘letra/letras a buscar’ %; SELECT * FROM pais
LIKE ‘C’ %; (comiencen por la letra C)
SELECT campos/campo Instrucción sql para buscar registros que no lleven las
FROM tabla/tablas letras(s) indicadas. EJ:
NOT LIKE ‘letra/letras a buscar’ %; SELECT * FROM pais
NOT LIKE ‘C’ %; (no comiencen por la letra C)
SELECT SUM(campo) FROM tabla; Instrucción SQL para sumar el total de registros de un campo
SELECT MIN (campo) FROM tabla; Instrucción SQL para calcular el valor mínimo de un campo
SELECT MAX(campo) FROM tabla; Instrucción SQL para calcular el valor máximo de un campo
SELECT COUNT(*) FROM tabla; Instrucción SQL para contar los registros de una tabla.

Sentencias SQL para manipular Registros: Se utiliza la siguiente sintaxis:

UPDATE nom_tabla Instrucción sql para modificar uno o varios registros de una tabla.
SET nom_campo =nuevo_registro Ej UPDATE pais
WHERE SET fecha='2008-10-09'
nom_campo=registro_del_campo; WHERE cod_pais=4;
DELETE FROM nom_tabla Instrucción sql para borrar un registro de la tabla seleccionada
WHERE nom_campo = reg_del_campo; DELETE FROM pais WHERE cod_pais = 4;

Sentencias SQL para realizar operaciones con los registros: Se utiliza la siguiente sintaxis:

SELECT campo/campos FROM nom_tabla Instrucción sql para unir la información de dos o mas
UNION tablas
SELECT campo/campos FROM nom_tabla; Ej SELECT * FROM pais
UNION
SELECT * FROM departamento;
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO

SELECT campo/campos Instrucción sql para realizar el join entre dos tablas
FROM nom_tabla1, nom tabla 2 Ej: SELECT nom_depto, nom_pais
WHERE nom_tabla1.campo = nom_tabla2.campo ; FROM departamento, pais
WHERE departamento.cod_pais = país.cod_pais;

TRABAJO PRÁCTICO

1. a. Teniendo en cuenta el siguiente diagrama, realizar las diferentes operaciones que se utilizan para
manipular registros (Update y Delete).

VUELO HOTEL
reservar
PK cod_vuelo PK cod_hotel
tomar
origen_vuelo nom_hotel
destino_vuelo dir_hotel
fecha_vuelo tel_hotel
valor_vuelo ciudad_hotel
costo_noche_hotel
TURISTA

PK cod_turista

nom1_turista
nom2_turista
ape1_turista
ape2_turista
telfijo_turista
celular_turista
direccion_turista
email_turista
FK1 cod_vuelo
FK2 cod_hotel

b. Utilizar la tabla vuelo para poner en práctica las sentencias que permiten hacer cálculos con los registros.
(Hacer búsquedas con like, ordenar registros, calcular los máximos y mínimos valores, contar registros y
hacer la suma de los mismos).

2. Se desea diseñar una base de datos para una sucursal bancaria que contenga información sobre los
clientes, las cuentas, las sucursales y las transacciones producidas. Construir los scripts teniendo en
cuenta las siguientes restricciones:

 Una transacción viene determinada por su número de transacción, la fecha y la cantidad.


 Un cliente puede tener muchas cuentas.
 Una cuenta solo puede pertenecer a un cliente.
 Una cuenta sólo puede estar registrada en una sucursal.

Una vez creado el script insertar como mínimo tres registros. Después realizar las siguientes operaciones:

 Sumar el total de las transacciones que lleva el cliente hasta el momento.


 Contar el total de sucursales existentes.

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