Vous êtes sur la page 1sur 34

ING.

IVAN IMAN AGURTO

Creacin de bases de datos


Sentencia CREATE DATABASE.
Esta sentencia crea una base de datos.
Sintaxis

CREATE DATABASE NOMBRE_BASE

Ejemplos: crear una base llamada BasePrueba:


CREATE DATABASE BasePrueba
Crear una base de datos llamada Base2
CREATE DATABASE Base2
Crear una base de datos llamada Base_Tres
CREATE DATABASE BaseTres
Importante.
Los nombres de las base de datos y as como tambin los nombre de las tablas de la
base de datos no deben contener espacios en blanco.

Crear tablas.
Sentencia CREATE TABLE. Construye una tabla
Sintaxis
CREATE TABLE nombreDeTabla (
Campo1 tipo de dato ,
Campo2 Tipo de dato,
Campo2 Tipo de dato,
)
Ejemplo:
CREATE TABLE TABLA1 (
Campo1 int,
Campo2 int,
Campo3 char(3)
)

CREATE TABLE Proveedores (


ClaveProveedor int,
Nombre char(40)
)

Ejemplo: Modelado
De la primera respuesta del usuario, el analista decide que para el nombre del alumno lo mejor ser
que exista un campo nombre y un campo apellido.
De la segunda respuesta de usuario, el analista decide que existir un campo matricula de tipo
numrico.
De la tercera y cuarta respuesta del usuario, el analista decide que el campo matricula puede ser auto
- numrico, con valor inicial en yyyy0001.
De la ultima respuesta del usuario, se determina que el campo para el telfono, siempre debe recibir un
dato.
Todo lo anterior se planea almacenarlo en una tabla de una base de datos. Por lo tanto necesitamos un
diagrama que describa la tabla.
Figura para modelar una tabla.

Modelo Lgico

Figura para modelar una tabla.


Modelo Fsico

Ejemplo: Modelado
El modelo para la tabla del ejemplo es el siguiente:

Tabla Alumnos

Tabla Alumnos

Modelo Lgico

Modelo Fsico

Alumnos
Matricula
Nombre
Apellidos
Fecha_Nac
Telefono
Direccion

Alumnos
Pasamos del
modelo lgico al
modelo Fsico

Matricula: int
Nombre: char(20)
Apellidos: varchar(50)
Fecha_Nac: datetime
Telefono: char(18)
Direccion: text

Implementacin del modelo


Alumnos
Matricula: int
Nombre: char(20)
Apellidos: varchar(50)
Fecha_Nac: datetime
Telefono: char(18)
Direccion: text

CREATE TABLE Alumnos (


Matricula INT,
Nombre VARCHAR (20),
Apellidos VARCHAR(50),
Fecha_Nac DATE,
Telefono CHAR (18),
Direccion TEXT

Sentencia INSERT INTO


Poblando tablas

Agregando datos en las tablas


Para agregar datos una tablas se utiliza la sentencia INSERT.
Esta sentencia tiene algunas variantes en su sintaxis segn el caso en que se desee aplicar.
Los diferentes caso de uso de la sentencia INSERT se plantean en el siguiente listado:
Escribiendo valores en todas las columnas de una tabla. A cada campo de la tabla
se le asigna un valor segn su tipo de dato.

Escribiendo valores en determinados campos. Se escriben valores solo en algunos


campos de la tablas, esto depende de las reglas de negocio que se estn modelando en
la base de datos. Obviamente los valores deben corresponder segn el tipo de dato de
los campos.

Escribiendo valores en forma no ordenada. Esto nos dice que si los campos
aparecen en el orden: campo1, campo2, campo3 en la tabla, nosotros podemos escribir
mediante la sentencia INSERT, primero en el campo2, luego en el campo3 y por ultimo
en el campo1.

INSERT. Valores en todos los campos


Sintaxis 1: Esta sintaxis se utiliza cuando se van a escribir datos en TODOS los campos de
una tabla.
INSERT INTO Nom_Tabla VALUES (dato1, dato2, dato3,);
Nota.
Debe haber tantos datos como campos en la tabla y los datos deben ser
proporcionados en el orden en el que aparecen los campos en la tabla

Ejemplo 1:
-- Suponiendo que tenemos la declaracin de una tabla como la siguiente:
CREATE TABLE Ventas (
IDPedido INT,
ClaveEmpleado INT NOT NULL,
Cliente VARCHAR (40) NOT NULL
);

INSERT INTO Ventas VALUES (2025, 30, Saenz) ;

INSERT. Valores en algunos campos


Sintaxis 2: Esta sintaxis se utiliza cuando NO se va a escribir datos en TODOS los campos de
una tabla.
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo 1:
-- Suponiendo que tenemos la declaracion de una tabla como la siguiente:
CREATE TABLE Ventas (IDPedido INT PRIMARY KEY,
ClaveEmpleado INT NOT NULL,
Cliente VARCHAR (40) NOT NULL,
FechaVenta DATE NULL);

INSERT INTO Ventas (IDPedido, ClaveEmpleado, Cliente) VALUES (2025, 30, Saenz) ;

INSERT. Valores en algunos campos


Sintaxis 3: Esta sintaxis se utiliza para escribir datos en orden diferente de los campos con
respecto al orden de los campos en la tabla.
INSERT INTO Nom_Tabla (Campo2, Campo3, Campo1, ) VALUES (dato2, dato3, dato1,)
Ejemplo 1:

-- Suponiendo que tenemos una tabla con la siguiente estructura


CREATE TABLE tblEspecialidades
(
cveEsp SMALLINT,
DsDesEsp VARCHAR(80)
);

-- Escribiendo datos:
INSERT INTO tblEspecialidades
(DsDesEsp, cveEsp)
VALUES
('Dermatologia', 11);

INSERT. Solo en MYSQL !!!


MySQL ofrece la posibilidad de escribir varios registros en una sola sentencia INSERT.
Sintaxis MySQL.
INSERT INTO Nom_Tabla VALUES ( ... ), ( ... ), ... ;
Datos del registro 1
Datos del registro 2
Ejemplo.
--Si tenemos una tabla con la siguiente estructura
CREATE TABLE tblEspecialidades
(
cveEsp SMALLINT,
DsDesEsp VARCHAR(80)
);
--Escribiendo valores
INSERT INTO tblEspecialidades
VALUES
(12, 'Coloproctologia'),
(13, 'Dermatologia'),
(14, 'cardiologia') ;

Ejercicios.
1. Crear, en la base de datos de pruebas, la tabla tblEspecialidades como se modela a
continuacin. Insertar 4 registro a la tabla.
tblEspecialidades
cveEsp
NomEsp
DsDecEsp

2. Crear, en la base de datos de pruebas, la tabla Medico segn el siguiente modelo.


Insertar 3 registros ala tabla.
Medicos
cveMed
Nombre
Apellidos
FechNac
TelDom
cveEsp
TelConsult
FechIngreso

Nota.
El campo cveEsp de la tabla Medicos,
debe ser del mismo tipo de dato que el
campo cveEsp de la tabla
tblEspecialidades.

Ejercicios
3. Crear una base de datos llamadas MovCrudLibros
3.1. Crear las siguientes tablas

Alumnos

Libros

Matricula

N_Clas

Nombre
Apellidos
Status
NPrestamos

Titulo
Autor
Edicion
NoEjem

3.2. Insertarle datos (al lo menos 3 registros para cada tabla)

Operadores:
NULL
Y
NOT NULL

Operador NULL
Operador NULL.
Permite valores vacos en la columna donde esta declarado.
Sintaxis:
Nombre_Campo Tipo NULL
Ejemplo:
CREATE TABLE Aspirantes (IdAspirante INT,
Nombre VARCHAR (35),
Experiencia TEXT

NULL);

Nota:
Si no se especifica algn operador en una columna, por default es NULL

INSERT INTO. Insertando valores vacos en


campos NULL
Sintaxis 1:
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo:
Suponiendo que tenemos la declaracin de una tabla como la siguiente:

CREATE TABLE Aspirantes (IdAspirante INT,


Nombre VARCHAR (35),
Experiencia TEXT NULL);

INSERT INTO Aspirantes (IDAspirante, Nombre) VALUES (2025, Carla);

Operador NOT NULL


Operador NOT NULL.
NO Permite valores vacos en la columna donde esta declarado.

Sintaxis:
Nombre_Campo Tipo NOT NULL

Ejemplo:
CREATE TABLE Aspirantes (IdAspirante INT NOT NULL ,
Nombre VARCHAR (35) NOT NULL,
Experiencia TEXT

NULL);

INSERT INTO
Sintaxis 1:
INSERT INTO Nom_Tabla (Campo1, Campo2, Campo3,) VALUES (dato1, dato2, dato3,)

Ejemplo 1:
Suponiendo que tenemos la declaracin de una tabla como la siguiente:

CREATE TABLE Aspirantes (IdAspirante INT NOT NULL,


Nombre VARCHAR (35) NOT NULL,
Experiencia TEXT NULL);

INSERT INTO Aspirantes (IDAspirante, Nombre, Experiencia) VALUES (2025, Karla, Ibope
Administador de proyectos) ;

Llaves Primarias.
PRIMARY KEY

Constraint PRIMARY KEY o Clave primaria


Una clave primaria son uno o mas campos que identifican de manera nica a cada una de
las filas de una tabla.
Si la clave primaria es un solo campo este debe cumplir con las siguientes condiciones: su
valor es nico y no vacos para cada fila o registro.

Sintaxis 1. Clave Primaria simple - Un solo campo como clave primaria


create table Nom_Tabla (Campo1 TIPO,
Campo2 TIPO,
Campo3 TIPO,
PRIMARY KEY (Campo1))
Sintaxis 2. Clave primaria Compuesta - Dos o mas campos

create table Nom_Tabla (Campo1 TIPO,


Campo2 TIPO,
Campo3 TIPO,
PRIM ARY KEY (Campo1, Campo2))

Clave primaria Simple


Sintaxis alternativa para clave primaria simple.

create table Nom_Tabla (Campo1 TIPO,


Campo2 TIPO,
Campo3 TIPO,
PRIMARY KEY (Campo1))

La definicin anterior es equivalente a la siguiente definicin


create table Nom_Tabla (Campo1 TIPO PRIMARY KEY,
Campo2 TIPO,
Campo3 TIPO)

Ejemplos. PRIMARY KEY


Ejemplo1.
- - Operacin: Creacin de tablas
CREATE TABLE Aspirantes ( Clave INT PRIMARY KEY,
Nombre VARCHAR (40),
Licenciatura CHAR (4) )
- - Operacin de insercin de datos
INSERT INTO Aspirantes VALUES (1020, Guadalupe Jimnez Cruz, 120K)

************* ERRORES. ********************


- - La siguiente operacin no es aceptada, pues viola la regla de no vaci de la clave primaria
INSERT INTO Aspirantes (Nombre, Licenciatura)
VALUES (Guadalupe Jimnez Cruz, 120K)
- - No se permite insertar registros con valores duplicados en el campo PRIMARY KEY.
INSERT INTO Aspirantes VALUES (1020, Guadalupe Jimnez Cruz, 120K)
INSERT INTO Aspirantes VALUES (1020, Sofia Castro Cayetano, 150F)

Ejemplos. PRIMARY KEY


-- CREACION de la tabla PRODUCTOS
CREATE TABLE tblProductos
(
Id_Producto INT PRIMARY KEY,
NombreProducto VARCHAR (40),
cveCategoria SMALLINT,
PrecioUnitario DECIMAL(8,2),
Existencias BIGINT,
UnidadesEnPedido INT
);
-- Escribiendo datos en la tabla PRODUCTOS.
INSERT INTO tblProductos
VALUES
(1,'Cream Secret', 2, 25.50, 145600, 25000) ;
-- Escribiendo datos en la tabla PRODUCTOS.
INSERT INTO tblProductos
VALUES
(2,'Quesos Alfaro', 2, 45.30, 12756, 200) ;

Ejercicios.
En la base de datos de Pueba, crear las siguientes tablas, asignando un campo
como PRIMARY KEY.

Pacientes
ID_paciente
Nombre
Apellidos
Telefono
Direccion
FechaNac

Citas
NumCita
cveMed
ID_Paciente
FechaSolicitud
FechaConsulta
Horario
Costo

Ejercicios.
En la base de datos de MovCrudLibros borrar las tablas creadas y volver a
construirlas, pero con su respectiva PRIMARY KEY.

Modificando la estructura de
tablas
ALTER TABLE

ALTER TABLE. Agregando columnas


Sintaxis:
ALTER TABLE Nom_Tabla ADD Nom_Columna Tipo [Restricciones -si existen-]

Ejemplo:
CREATE TABLE TX (C1 INT,
C2 CHAR (2))
ALTER TABLE TX ADD C3 DATETIME -- agrega una nueva columna llamada C3

La sentencia ALTER TABLE agregara una nueva columna al final de las columnas ya existentes
en la tabla TX.
Si la tabla ya tienen registros, la nueva Columna coloca valores NULL en estos registros.

Borrando Columnas
Para borrar una Columna se realiza a travs del la sentencia ALTER TABLE
Sintaxis:
ALTER TABLE Nom_Tabla DROP COLUMN Nom_Columna
Ejemplo.
ALTER TABLE Tx ADD C10 INT

ALTER TABLE Tx DROP C10

Cambiar de tipo de dato a un campo


Para poder cambiar de tipo de dato a un campo se utiliza la sentencia ALTER TABLE

Sintaxis.
ALTER TABLE Nom_Tabla CHANGE Nom_Columna Nom_Columna Nuevo_tipo

Ejemplo.
-- inicialmente el campo es varchar de 200
ALTER TABLE TX CHANGE C3 C3 CHAR (200);

Cambiar nombre un campo


Para poder cambiar el nombre de un campo se utiliza la sentencia ALTER TABLE

Sintaxis.
ALTER TABLE Nom_Tabla CHANGE Nom_Anterior Nuevo_Nombre mismo_tipo

Ejemplo.
-- inicialmente el campo es CHAR(200)
ALTER TABLE TX CHANGE B1 C3 CHAR (200);

Agregando PRIMARY KEY


Sintaxis.
ALTER TABLE Tabla ADD CONSTRAINT PRIMARY KEY (C1)

Ejemplo.
- - Agregamos restriccin PRIMARY KEY en columna C1
ALTER TABLE TX ADD CONSTRAINT PRIMARY KEY (C1)

Borrando PRIMARY KEY


Sintaxis.
ALTER TABLE Tabla DROP PRIMARY KEY (

Ejemplo.
- - Borra la restriccin PRIMARY KEY de la tabla TX.
ALTER TABLE TX DROP PRIMARY KEY

Renombrando tablas
Para cambia el nombre de un tabla se utiliza la sentencia ALTER TABLE Con la
siguiente sintaxis.

Sintaxis.
ALTER TABLE t1 RENAME TO t2;
Otra forma de renombrar a las tabla es mediante la variante de alter tabla
RENAME TABLE t1 TO t2;

Vous aimerez peut-être aussi