lunes, 9 de junio de 2014

PASOS PARA CREAR UNA BASE DE DATOS

1. CREAMOS LA BASE DE DATOS CON LA SIGUIENTE INSTRUCCION:

mysql> CREATE DATABASE GESTION_TRABAJOS;

2. LUEGO INICIAMOS CREANDO CADA UNA DE SUS TABLAS CON SUS RESPECTIVOS CAMPOS Y ATRIBUTOS:

mysql> CREATE TABLE GRUPO (
GRU_NUMERO INT (3) NOT NULL, PRIMARY KEY (GRU_NUMERO), GRU_NOMBRE VARCHAR (25) NOT NULL
) ENGINE=INNODB;

mysql> CREATE TABLE PROFESOR (
PRO_DNI VARCHAR (13) NOT NULL, PRIMARY KEY (PRO_DNI), PRO_NOMBRE VARCHAR (50) NOT NULL, PRO_DOMICILIO VARCHAR (5) NOT NULL
)ENGINE=INNODB;

mysql> CREATE TABLE TRIBUNAL (
TRI_NUMERO VARCHAR (3) NOT NULL, PRIMARY KEY (TRI_NUMERO), TRI_LUGAR VARCHAR (50) NOT NULL
) ENGINE=INNODB;

mysql> CREATE TABLE CALIFICADORES (
CAL_ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (CAL_ID),PRO_DNI VARCHAR (13) NOT NULL,TRI_NUMERO VARCHAR (3) NOT NULL, FOREIGN KEY (PRO_DNI) REFERENCES PROFESOR(PRO_DNI), FOREIGN KEY (TRI_NUMERO) REFERENCES TRIBUNAL (TRI_NUMERO)
) ENGINE=INNODB;

mysql> CREATE TABLE TFC (
TFC_NUMERO INT (5) NOT NULL, PRIMARY KEY (TFC_NUMERO), TFC_TEMA TEXT NOT NULL, TFC_FECHA DATE NOT NULL,TRI_NUMERO VARCHAR (3) NOT NULL, FOREIGN KEY (TRI_NUMERO) REFERENCES TRIBUNAL (TRI_NUMERO)
 ) ENGINE=INNODB ;

mysql> CREATE TABLE ALUMNO (
ALU_NUMERO VARCHAR (13) NOT NULL, PRIMARY KEY (ALU_NUMERO), ALU_DNI VARCHAR (13) NOT NULL, ALU_NOMBRE VARCHAR (50) NOT NULL, GRU_NUMERO INT (3) NOT NULL,PRO_DNI VARCHAR (13) NOT NULL,TFC_NUMERO INT (5) NOT NULL, FOREIGN KEY (GRU_NUMERO) REFERENCES GRUPO (GRU_NUMERO), FOREIGN KEY (PRO_DNI) REFERENCES PROFESOR (PRO_DNI), FOREIGN KEY (TFC_NUMERO) REFERENCES TFC (TFC_NUMERO)
) ENGINE=INNODB;

mysql> CREATE TABLE ASESORIAS (
ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (ID),ALU_NUMERO VARCHAR (13) NOT NULL,PRO_DNI VARCHAR (13) NOT NULL, FOREIGN KEY (ALU_NUMERO) REFERENCES ALUMNO (ALU_NUMERO), FOREIGN KEY (PRO_DNI) REFERENCES PROFESOR (PRO_DNI)
) ENGINE=INNODB;

3. CUANDO YA TODAS LAS TABLAS SEAN CREADAS PODREMOS EMPEZAR A AÑADIR LOS REGISTROS RESPECTIVOS A CADA UNA UTILIZANDO LA SIGUIENTE INSTRUCCION (INSERT INTO)

INSERT INTO GRUPO VALUES (
'001', 'TRABAJO SOCIAL'), ('002', 'DISEÑO DE MODAS'), ('003', 'INGENIERIA DE SISTEMAS'), ('004', 'ADMINISTRACION '), ('005', 'CONTADURIA'
);

INSERT INTO PROFESOR VALUES (
'65692470', 'WILSON DANIEL GORDILLO', '2-73'), ('28710378', 'JHON DARWIN MUÑOZ', '3-45'), ('1105680851', 'ARBEY JIMENEZ', '5-89'), ('6578922', 'ERIKA FARFAN', '83-34'), ('73948300', 'WILLIAN ORJUELA', '3-48'
);

INSERT INTO TRIBUNAL VALUES (
'005', 'SALA DE PROYECCIONES 1'), ('006', 'SALA DE PROYECCIONES 2'), ('007', 'SALA DE BILINGUISMO'), ('008', 'SALA DE DOCENTES'), ('009', 'SALA  PRINCIPAL'
);

INSERT INTO CALIFICADORES VALUES (
NULL, '1105680851', '005'), (NULL, '28710378', '006'), (NULL, '65692470', '007'), (NULL, '6578922', '008'), (NULL, '73948300', '009'
);

INSERT INTO ALUMNO VALUES (
'111', 'DISPOSITIVOS DE PLACA REDUCIDA', '2014-01-04', '005'), ('122', 'PREVENCION DEL CONSUMO DE SPA', '2014-02-10', '006'), ('133', 'AUDITORIA DE SISTEMAS', '2014-03-10', '007'), ('144', 'NOMINA DIGITAL', '2014-05-08', '008'), ('155', 'CONFECCION HINDU', '2014-06-01', '009
');

INSERT INTO TFC VALUES (
'3810R13', '96120502457', 'LIZETH RAMIREZ', '1', '1105680851', '111'), ('3629L12', '110238449539', 'ALEJANDRA BENAVIDES', '2', '28710378', '133'), ('34U921', '110534239', 'YICED SANCHEZ', '3', '6578922', '144'), ('56YWOE', '9710034579', 'DANA TRUJILLO', '4', '6578922', '144'), ('45TDSF', '93456722', 'AUGUSTO CERVERA', '5', '73948300', '155'
);

INSERT INTO ASESORIAS VALUES (
NULL, '3810R13', '1105680851'), (NULL, '3629L12', '28710378'), (NULL, '34U921', '65692470'), (NULL, '56YWOE', '6578922'), (NULL, '45TDSF', '73948300'
);


TIPOS DE DATOS UTILIZADOS EN MySQL


DATOS NUMERICOS

En este tipo de campos solo pueden almacenarse números, positivos o negativos, enteros o decimales, en notación hexadecimal, cientifica o decimal.
Los tipos numéricos tipo integer admiten los atributos SIGNED y UNSIGNED indicando en el primer caso que pueden tener valor negativo, y solo positivo en el segundo.
Los tipos numéricos pueden además usar el atributo ZEROFILL en cuyo caso los números se completaran hasta la máxima anchura disponible con ceros (column age INT(5) zerofill => valor 23 se almacenará como 00023)
BIT o BOOL, para un número entero que puede ser 0 ó 1
TINYINT es un número entero con rango de valores válidos desde -128 a 127. Si se configura como unsigned (sin signo), el rango de valores es de 0 a 255
SMALLINT, para números enteros, con rango desde -32768 a 32767. Si se configura como unsigned, 0 a 65535.
MEDIUMINT para números enteros; el rango de valores va desde -8.388608 a 8388607. Si se configura como unsigned, 0 a 16777215
INT para almacenar números enteros, en un rango de -2147463846 a 2147483647. Si configuramos este dato como unsigned, el rango es 0 a 4294967295
BIGINT número entero con rango de valores desde -9223372036854775808 a 9223372036854775807. Unsigned, desde 0 a 18446744073709551615.
FLOAT (m,d) representa números decimales. Podemos especificar cuantos dígitos (m) pueden utilizarse (término también conocido como ancho de pantalla), y cuantos en la parte decimal (d). Mysql redondeará el decimal para ajustarse a la capacidad.
DOUBLE Número de coma flotante de precisión doble. Es un tipo de datos igual al anterior cuya única diferencia es el rango numérico que abarca
DECIMAL almacena los números como cadenas.

Caracteres o cadenas

CHAR Este tipo se utiliza para almacenar cadenas de longitud fija. Su longitud abarca desde 1 a 255 caracteres.
VARCHAR Al igual que el anterior se utiliza para almacenar cadenas, en el mismo rango de 1-255 caracteres, pero en este caso, de longitud variable. Un campo CHAR ocupará siempre el máximo de longitud que le hallamos asignado, aunque el tamaño del dato sea menor (añadiendo espacios adicionales que sean precisos). Mientras que VARCHAR solo almacena la longitud del dato, permitiendo que el tamaño de la base de datos sea menor. Eso si, el acceso a los datos CHAR es mas rápido que VARCHAR.
No pueden alternarse columnas CHAR y VARCHAR en la misma tabla. Mysql cambiará las columnas CHAR a VARCHAR. Tambien cambia automaticamente a CHAR si usamos VARCHAR con valor de 4 o menos.
TINYTEXT, TINYBLOB para un máximo de 255 caracteres. La diferencia entre la familia de datatypes text y blob es que la primera es para cadenas de texto plano (sin formato) y case-insensitive (sin distinguir mayusculas o minusculas) mientras que blob se usa para objetos binarios: cualquier tipo de datos o información, desde un archivo de texto con todo su formato (se diferencia en esto de el tipo Text) hasta imágenes, archivos de sonido o video
TEXT y BLOB se usa para cadenas con un rango de 255 – 65535 caracteres. La diferencia entre ambos es que TEXT permite comparar dentro de su contenido sin distinguir mayusculas y minusculas, y BLOB si distingue.
MEDIUMTEXT, MEDIUMBLOB textos de hasta 16777215 caracteres.
LONGTEXT, LONGBLOB, hasta máximo de 4.294.967.295 caracteres

Varios

DATE para almacenar fechas. El formato por defecto es YYYY MM DD desde 0000 00 00 a 9999 12 31.
DATETIME Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos
TIMESTAMP Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo
TIME almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de ‘HH:MM:SS’
YEAR almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos.
SET un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores.
ENUM es igual que SET, pero solo se puede almacenar uno de los valores de la lista

No hay comentarios.:

Publicar un comentario