Anda di halaman 1dari 29

BASES DE DATOS

INTRODUCCIN A MYSQL

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.

Tabla
CREATE TABLE crea una tabla con el nombre dado. Se debe
poseer el privilegio CREATE para la tabla.

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name


[(definicin_create,...)] [opciones_tabla]
[sentencia_select]

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)
)

Alumnos
Matricula: int

CREATE TABLE Alumnos (


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

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

ALTER TABLE
Permite modificar la estructura de una tabla existente.
Por ejemplo, se pueden aadir o eliminar columnas,
crear y destruir ndices, cambiar el tipo de una columna
existente o renombrar columnas o la propia tabla.
Tambin es posible modificar el comentario y el tipo de
la tabla.
ALTER
[IGNORE]
TABLE
tbl_name
alter_specification [, alter_specification ...]
ANALYZE TABLE
Analiza y almacena la distribucin de claves de una
tabla. Durante el anlisis, la tabla se bloquea para
lectura. Funciona con tablas MyISAM y BDB.
ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE
tbl_name[,tbl_name...]

BACKUP TABLE
Copia al directorio de copia de seguridad el nmero
mnimo de ficheros de tablas necesarios para restaurar
la tabla, despus de escribir cualquier cambio al disco.
BACKUP TABLE tbl_name [,
'/path/to/backup/directory'

tbl_name]

...

TO

DELETE
Elimina columnas desde "table_name" que satisfagan la
condicin dada por la "where_definition", y devuelve el
nmero de registros borrados.
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM table_name[.*] [, table_name[.*] ...]
USING table-references
[WHERE where_definition]

DROP DATABASE
Elimina todas las tablas de la base de datos y borra la
base de datos.
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
UPDATE
Actualiza columnas de filas existentes de una tabla con
nuevos valores.
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [,
tbl_name ...]
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]

Integridad de Datos
La exigencia de integridad de los datos garantiza la calidad de los
datos de la base de datos. Dos pasos importantes en el diseo de
las tablas son la identificacin de valores vlidos para una columna
y la determinacin de cmo forzar la integridad de los datos en la
columna. La integridad de datos pertenece a una de las siguientes
categoras:
Integridad de entidad
Integridad de dominio
Integridad referencial
Integridad definida por el usuario

Integridad de Datos
TIPOS DE INTEGRIDAD DE DATOS
Integridad de entidad:
La integridad de entidad define una fila como entidad nica para una tabla
determinada. La integridad de entidad exige la integridad de las columnas
de los identificadores o la clave principal de una tabla, mediante ndices y
restricciones UNIQUE, o restricciones PRIMARY KEY.
Integridad de dominio:
La integridad de dominio viene dada por la validez de las entradas para
una columna determinada. Puede exigir la integridad de dominio para
restringir el tipo mediante tipos de datos, el formato mediante reglas y
restricciones CHECK, o el intervalo de valores posibles mediante
restricciones FOREIGN KEY, restricciones CHECK, definiciones
DEFAULT, definiciones NOT NULL y reglas.

Integridad de Datos
TIPOS DE INTEGRIDAD DE DATOS
Integridad referencial :
La integridad referencial protege las relaciones definidas entre las tablas
cuando se crean o se eliminan filas. En SQL Server 2005 la integridad
referencial se basa en las relaciones entre claves externas y claves
principales o entre claves externas y claves exclusivas, mediante
restricciones FOREIGN KEY y CHECK. La integridad referencial garantiza
que los valores de clave sean coherentes en las distintas tablas. Para
conseguir esa coherencia, es preciso que no haya referencias a valores
inexistentes y que, si cambia el valor de una clave, todas las referencias a
ella se cambien en consecuencia en toda la base de datos.

Integridad de Datos
TIPOS DE INTEGRIDAD DE DATOS
Integridad referencial :
Cuando se exige la integridad referencial, SQL Server impide a los
usuarios:
Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila
asociada en la tabla principal.
Cambiar valores en una tabla principal que crea filas hurfanas en una
tabla relacionada.
Eliminar filas de una tabla principal cuando hay filas relacionadas
coincidentes.
Por ejemplo, en las tablas Sales.SalesOrderDetail
y Production.Product de la base de datos
AdventureWorks, la integridad referencial se basa
en la relacin entre la clave externa (ProductID)
de la tabla Sales.SalesOrderDetail y la clave
principal
(ProductID)
de
la
tabla
Production.Product. Esta relacin garantiza que
un pedido de ventas no pueda nunca hacer
referencia a un producto que no existe en la tabla
Production.Product.

Integridad de Datos
TIPOS DE INTEGRIDAD DE DATOS
Integridad definida por el usuario
La integridad definida por el usuario permite definir reglas de
empresa especficas que no pertenecen a ninguna otra categora
de integridad. Todas las categoras de integridad admiten la
integridad definida por el usuario. Esto incluye todas las
restricciones de nivel de columna y nivel de tabla en CREATE
TABLE, procedimientos almacenados y desencadenadores.

Integridad de Datos
EXIGIR LA INTEGRIDAD DE LOS DATOS
Planear y crear tablas requiere identificar los valores vlidos para las
columnas y decidir cmo exigir la integridad de los datos en las columnas.
SQL 2005 proporciona los siguientes mecanismos para exigir la integridad
de los datos en una columna:
Restricciones PRIMARY KEY
Restricciones FOREIGN KEY
Restricciones UNIQUE
Restricciones CHECK
Definiciones DEFAULT
Permitir valores NULL

Integridad de Datos
RESTRICCIONES
Restricciones PRIMARY KEY :
Si se define una restriccin PRIMARY KEY para ms de una columna, puede
haber valores duplicados dentro de la misma columna, pero cada combinacin de
valores de todas las columnas de la definicin de la restriccin PRIMARY KEY
debe ser nica. Como se muestra en la siguiente ilustracin, las columnas
ProductID y VendorID de la tabla Purchasing.ProductVendor forman una
restriccin PRIMARY KEY compuesta para esta tabla. As se garantiza que la
combinacin de ProductID y VendorID es nica.

Integridad de Datos
RESTRICCIONES
Restricciones FOREIGN KEY:
La tabla Sales.SalesOrderHeader
de la base de datos
AdventureWorks tiene un vnculo a
la tabla Sales.SalesPerson porque
existe una relacin lgica entre
pedidos de ventas y personal de
ventas. La columna SalesPersonID
de la tabla SalesOrderHeader
coincide con la columna de clave
principal de la tabla SalesPerson.
La columna SalesPersonID de la
tabla SalesOrderHeader es la clave
externa para la tabla SalesPerson.

Creacin de Vistas
Seguridad: visualizamos solo una parte de la informacin que
existe
Comodidad: el modelo relacional no es cmodo para visualizar,
tener una vista nos simplifica esta tarea

Creacin de Vistas
Para crear una vista debemos utilizar la sentencia CREATE VIEW,
debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT vlida.
CREATE VIEW <nombre_vista>
AS (<sentencia_select>);
Ejemplo: Crear una vista sobre nuestra tabla alquileres, en la que se nos muestre el
nombre y apellidos del cliente en lugar de su cdigo.
CREATE VIEW vAlquileres
AS
(
SELECT nombre,
apellidos,
matricula
FROM tAlquileres,
tClientes
WHERE ( tAlquileres.codigo_cliente = tClientes.codigo )

Modificacin de Vistas
Si queremos, modificar la definicin de nuestra vista podemos utilizar la sentencia
ALTER VIEW, de forma muy parecida a como lo hacamos con las tablas. En este
caso queremos aadir los campos fx_alquiler y fx_devolucion a la vista.
ALTER VIEW vAlquileres
AS
(
SELECT nombre,
apellidos,
matricula,
fx_alquiler,
fx_devolucion
FROM tAlquileres,
tClientes
WHERE ( tAlquileres.codigo_cliente =
tClientes.codigo )
)

Eliminacin de Vistas
Por ltimo podemos eliminar la vista a travs de la sentencia DROP
VIEW. Para eliminar la vista que hemos creado anteriormente se
utilizara:

DROP VIEW vAlquileres;

VISTAS EN MYSQL

Una vista de base de datos es un resultado de una consulta SQL de


una o varias tablas; tambin se le puede considerar una tabla virtual.
Tienen
Slo
Los

la misma estructura que una tabla: filas y columnas.

almacenan la definicin, no los datos.


datos que se recuperan mediante una consulta a una vista se

presentarn igual que los de una tabla.


Se

especifican a travs de una expresin de consulta (una sentencia

SELECT) que la calcula y que puede realizarse sobre una o ms


tablas.
La

mayora de los DBMS soportan la creacin y manipulacin de

vistas.

En general: informacin derivada de consultas complejas a la que


se accede con frecuencia.

Obtencin de informacin derivada de la relacin entre varias


tablas y estadsticas.

Como

mecanismo

de

seguridad:

creacin

de

vistas

con,

nicamente, los atributos de las tablas a los cuales se desea


permitir acceder a determinados usuarios.

Para la creacin de esquemas externos

Existen 3 comandos principales:

Creacin o modificacin de vistas con CREATE VIEW o


ALTER VIEW

Eliminacin de vistas con DROP VIEW

Obtencin de informacin de definicin de una vista


(metadatos) con SHOW CREATE VIEW

CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW


nombre_vista [(columnas)] AS sentencia_select [WITH [CASCADED | LOCAL]
CHECK OPTION]

Esta sentencia crea una vista nueva o reemplaza una


existente si se incluye la clusula OR REPLACE.
Las tablas y las vistas comparten el mismo espacio de
nombres en la base de datos, por eso, una base de datos no
puede contener una tabla y una vista con el mismo
nombre.

ALTER

[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

[(columnas)]

AS sentencia_select [WITH

VIEW nombre_vista

[CASCADED | LOCAL] CHECK OPTION]

Esta sentencia modifica la definicin de una vista


existente. La sintaxis es semejante a la empleada en
CREATE VIEW.

SHOW CREATE VIEW nombre_vista

Muestra la sentencia CREATE VIEW que se utiliz para


crear la vista

DROP VIEW

[IF EXISTS]

nombre_vista [, nombre_vista] ... [RESTRICT | CASCADE]

DROP VIEW elimina una o ms vistas de la base de


datos. Se debe poseer el privilegio DROP en cada vista
a eliminar.

Anda mungkin juga menyukai