0% encontró este documento útil (0 votos)
27 vistas8 páginas

Mod4 DiseñoBD

Este documento describe los pasos para crear y manipular bases de datos y tablas en MySQL. Incluye la sintaxis para crear bases de datos y tablas, agregar, modificar y eliminar columnas de tablas, y establecer relaciones entre tablas.

Cargado por

Javier Struciat
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas8 páginas

Mod4 DiseñoBD

Este documento describe los pasos para crear y manipular bases de datos y tablas en MySQL. Incluye la sintaxis para crear bases de datos y tablas, agregar, modificar y eliminar columnas de tablas, y establecer relaciones entre tablas.

Cargado por

Javier Struciat
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ELABORACIÓN DEL DISEÑO FÍSICO Y SU IMPLEMENTACIÓN EN EL SISTEMA GESTOR

Creación de bases de datos.

Cada conjunto de relaciones que componen un modelo completo forma una base de datos. Desde
el punto de vista de SQL, una base de datos es sólo un conjunto de relaciones (o tablas), y para
organizarlas o distinguirlas se accede a ellas mediante su nombre. A nivel de sistema operativo, cada
base de datos se guarda en un directorio diferente.

Debido a esto, crear una base de datos es una tarea muy simple. Claro que, en el momento de
crearla, la base de datos estará vacía, es decir, no contendrá ninguna tabla.

Vamos a crear y manipular nuestra propia base de datos, al tiempo que nos familiarizamos con la
forma de trabajar de MySQL.

Para empezar, crearemos una base de datos para nosotros solos, y la llamaremos "prueba". Para
crear una base de datos se usa una sentencia:

Podemos averiguar cuántas bases de datos existen en nuestro sistema usando la sentencia:
Las bases de datos sólo necesitan ser creadas una sola vez, pero deben ser seleccionadas cada vez
que se inicia una sesión de MySQL. Puede hacerse a través del comando USE como se muestra en el
ejemplo, o puede indicar la base de datos en la línea de comandos al ejecutar MySQL. Simplemente
debe indicar el nombre de la base de datos a continuación de los parámetros que necesite ingresar.
Por ejemplo:

Creación de tablas.

✓ Estructuras de las Tablas

Una base de datos en un sistema relacional está compuesta por un conjunto de tablas,
que corresponden a las relaciones del modelo relacional. En la terminología usada en
SQL no se alude a las relaciones, del mismo modo que no se usa el término atributo,
pero sí la palabra columna, y no se habla de tupla, sino de línea.

✓ Tipos de Datos

Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinónimos
válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son:

Tipo de Datos Longitud Descripción

Para consultas sobre tabla adjunta de productos de bases de datos que


BINARY 1 byte
definen un tipo de datos Binario.
BIT 1 byte Valores Si/No ó True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long)
Un entero escalable entre 922.337.203.685.477,5808 y
CURRENCY 8 bytes
922.337.203.685.477,5807.
DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y 9999.
Un valor en punto flotante de precisión simple con un rango de -
SINGLE 4 bytes 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10- 45 a
3.402823*1038 para valores positivos, y 0.
Un valor en punto flotante de doble precisión con un rango de -
DOUBLE 8 bytes
1.79769313486232*10 308 a -4.94065645841247*10-324 para valores
Tipo de Datos Longitud Descripción

negativos, 4.94065645841247*10 -324 a 1.79769313486232*10308 para


valores positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes.
LONGBINARY Según se necesite De cero 1 gigabyte. Utilizado para objetos OLE.
TEXT 1 byte por carácter De cero a 255 caracteres.

La siguiente tabla recoge los sinónimos de los tipos de datos definidos:

Tipo de Tipo de
Sinónimos Sinónimos
Dato Dato
DATE
BINARY VARBINARY DATETIME
TIME
BOOLEAN
FLOAT
LOGICAL
BIT SINGLE SINGLE
LOGICAL1
REAL
YESNO
FLOAT
BYTE INTEGER1 DOUBLE NUMBER
NUMERIC
INT
COUNTER AUTOINCREMENT SHORT
SMALLINT

CURRENCY MONEY TEXT VARCHAR

Creación de Tablas Nuevas

CREATE TABLE `BD`.`tabla`


(
`campo1` tipo (tamaño) índice1,
`campo2` tipo (tamaño) índice2,... , índice multicampo , ... )
Motor;

En donde:

Tabla Es el nombre de la tabla que se va a crear.


campo1 Es el nombre del campo o de los campos que se van a crear en la nueva tabla. La nueva tabla debe
campo2 contener, al menos, un campo.
tipo Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos)
tamaño Es el tamaño del campo sólo se aplica para campos de tipo texto.
índice1
Es una cláusula CONSTRAINT que define el tipo de índice a crear. Esta cláusula en opcional.
índice2
índice Es una cláusula CONSTRAINT que define el tipo de índice multicampos a crear. Un índice multicampo
multicampos es aquel que está indexado por el contenido de varios campos. Esta cláusula en opcional.

✓ EJEMPLOS:

• Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre
de tipo texto y longitud 25 y otro llamado apellidos con longitud 50.

CREATE TABLE `BD`.`Empleados`


(
`CURP` VARCHAR(18) NOT NULL,
`Nombre` VARCHAR(10),
`Apellidos` VARCHAR(15),
`FechaNacimiento` DATETIME, PRIMARY KEY(Curp)
) ENGINE = INNODB;

• Crea una nueva tabla llamada Empleados con un campo CURP de tipo texto y
longitud 18, Nombre de tipo texto y longitud 10, otro con llamado Apellidos de
tipo texto y longitud 15 y uno más llamado Fecha Nacimiento de tipo Fecha/Hora.
También crea una llave primaria para lo cual se designa el campo CURP.

CREATE TABLE `BD`.`Empleados`


(
`IdEmpleado` INT NOT NULL,
`Nombre` VARCHAR(20),
`Apellidos` VARCHAR(20),
`FechaNacimiento` DATETIME, PRIMARY KEY (`IdEmpleado`)
) ENGINE = INNODB;

✓ Supresión de tablas.

A veces se puede decidir que requiere eliminar una tabla en la base de datos por alguna
razón. De hecho, sería problemático si no podemos hacerlo ya que esto crearía una
pesadilla de mantenimiento para DBA. Afortunadamente, SQL nos permite hacerlo, ya
que podemos utilizar el comando DROP TABLE. La sintaxis para DROP TABLE es:

DROP TABLE `nombre_tabla`;

Entonces, si deseamos eliminar una tabla denominada cliente que creamos en la


sección CREATE TABLE, simplemente ingresamos:

✓ Modificación de tablas.

Una vez que se crea la tabla en la BD, hay muchas ocasiones donde se puede desear
cambiar la estructura de la tabla. Los casos típicos incluyen los siguientes:

• Agregar una columna


• Eliminar una columna
• Cambiar el nombre de una columna
• Cambiar el tipo de datos para una columna

La sintaxis SQL para ALTER TABLE es:

ALTER TABLE `nombre_tabla` [modificar especificación]

[modificar especificación] depende del tipo de modificación que deseamos realizar.


Para los usos mencionados anteriormente, las instrucciones [modificar especificación]
son:

• Agregar una columna: ADD “columna 1” “tipos de datos para columna 1”


• Eliminar una columna: DROP “columna 1”
• Cambiar el nombre de una columna: CHANGE “nombre antiguo de la columna”
“nuevo nombre de la columna” “tipos de datos para la nueva columna".
• Cambiar el tipo de datos para una columna: MODIFY “columna 1” “nuevo tipo de
datos”
Recorramos ejemplos para cada uno de lo anteriormente mencionado, utilizando la tabla
“CUSTOMER”.

Tabla CUSTOMER

Column
Data Type
Name
First_Name varchar(50)
Last_Name varchar(50)
Primero, deseamos agregar una columna
Address varchar(50) denominada “Gender” a esta tabla. Para hacerlo,
ingresamos:
City varchar(50)
Country varchar(25)
Birth_Date date

Luego, deseamos renombrar “Address" a “Addr”. Para hacerlo, ingresamos:

Finalmente, deseamos eliminar la columna “Gender”. Para hacerlo, ingresamos:


✓ Establecer Relaciones

La integridad referencial asegura que se mantengan las referencias entre las claves
primarias y las externas. También controla que no pueda eliminarse un registro de una
tabla ni modificar la clave primaria si una clave externa hace referencia al registro.

Para que un campo sea clave foránea, este necesita ser definido como tal al momento
de crear la tabla. En MySQL se pueden definir claves foráneas, pero únicamente se
pueden utilizar cuando se usan tablas del tipo InnoDB.

Para poder trabajar con claves foráneas necesitan hacer lo siguiente:

1. Crear ambas tablas del tipo InnoDB.


2. Usar la sintaxis
FOREIGN KEY (campo_fk)
REFERENCES nombre_tabla (nombre_campo)
3. Crear un índice en el campo que ha sido declarado clave foránea InnoDB no
crea automáticamente índices en las claves foráneas, así que deben crearlos
de manera explícita. Los índices son necesarios para que la verificación de las
claves foráneas sea más rápida

Ejemplo:

CREATE TABLE `BD`.`cliente`


(
`id_cliente` INT NOT NULL,
`nombre` VARCHAR(30),
PRIMARY KEY (id_cliente)
) ENGINE = INNODB;
CREATE TABLE `BD`.`venta`
(
`id_factura` INT NOT NULL,
`id_cliente` INT NOT NULL,
`cantidad` INT,
PRIMARY KEY (`id_factura`),
FOREIGN KEY (`id_cliente`)
REFERENCES `cliente` (`id_cliente`)
) ENGINE = INNODB;

Los campos correspondientes en la clave foránea y en la clave referenciada deben tener


tipos de datos similares para que puedan ser comparadas.

Cuando la tabla ya ha sido creada y no se han añadido claves foráneas éstas pueden
agregarse mediante la opción de modificación de tablas como se muestra a continuación:

EJEMPLO:

ALTER TABLE `BD`.`saca` ADD FOREIGN KEY(`codigo_usuario`)


REFERENCES `usuario`(`código`) ON UPDATE CASCADE ON DELETE RESTRICT,
ADD FOREIGN KEY(`codigo_ejemplar`) REFERENCES `ejemplar` (`código`)
ON UPDATE CASCADE ON DELETE RESTRICT;

Cibergrafía:
http://cbdcona.blogspot.com/2016/04/13-b-elaboracion-del-diseno-fisico-y-su.html

También podría gustarte