Drop Table

Anuncio
SQL (Lenguaje de Consulta Estructurado):
Es un lenguaje de consulta estructurado establecido
claramente como lenguaje de alto nivel estándar para
sistemas de base de datos relacionales.
ANSI
(Instituto Americano de Normalización) e ISO
(Organismo Internacional de Normalización) fueron los
encargados de publicar este lenguaje como estándar.
Es por esto que este lenguaje lo vas a encontrar en
cualquier DBMS que estés trabajando.
Versión
Descripción
Versión básica del servidor, limitada en el número de
usuarios y en cuanto al volumen de datos a
gestionar. Es la versión que Microsoft nos ofrece
gratuitamente y sin duda es la versión ideal para
SQL Server 2008 Express Edition
comenzar a trabajar y desde la cual podemos ir
ampliando a versiones superiores si nos fuese
necesario. Permite ser distribuida con programas de
desarrollo propios con su correspondiente licencia.
Orientada a pequeñas empresas, no tiene límite de
números de usuarios ni de capacidad de
almacenamiento en cuanto al tamaño de la base de
SQL Server 2008 Workgroup Edition datos. No incluye las herramientas avanzadas de las
versiones superiores. Especializada para aplicaciones
en distintas sucursales que requieren sincronizar sus
datos.
Pensada para empresas de mediano tamaño, cuenta
con herramientas avanzadas para la administración y
SQL Server 2008 Standard Edition
análisis de datos. Orientada a aplicaciones
departamentales.
Esta edición está preparada para gestionar las
empresas de mayor tamaño, ya que ofrece mayor
potencia que las anteriores. Y además de añadir
servicios avanzados y estar preparada para trabajar con
multiprocesadores de 64 Bits, amplias memorias RAM.
Podemos hablar de bases de datos con tamaños dados
SQL Server 2008 Enterprise Edition
en Terabytes, para que puedas hacer una idea de la
cantidad de información que puede llegar a gestionar
con fiabilidad. Tiene la capacidad de trabajar con
Clústers de ordenadores, de modo que el fallo de uno
de ellos active otro ordenador que se encontraba
pasivo hasta el momento del error.
Se trata de una versión que cuenta con las mismas
características que su versión anterior, con la diferencia
de que va dirigida a desarrolladores. ¿Porque si tienen
las mismas características, no se trata de la misma
edición? Esta versión especial está limitada por su
SQL Server 2008 Developer Edition
licencia que no permite que se ejecute en entornos de
explotación y sólo se permite para desarrollo. Otra
diferencia importante, es que permite ser instalada en
Sistemas Operativos Windows XP Professional Edition,
o Windows Vista.
SQL agrupa tres tipos de sentencias con objetivos
particulares en los siguientes lenguajes:



Lenguaje de Definición de Datos (DDL)
Lenguaje de Manipulación de Datos (DML)
Lenguaje de Control de Datos (DCL)
Grupo de sentencias SQL que soportan la definición y
declaración de los objetos de la base de datos.
Objetos de una base de datos






Base de datos (DATABASE)
Tablas (TABLE)
Procedimientos almacenados (STORE PROCEDURE)
Vistas (VIEW)
Disparadores (TRIGGER)
Índices (INDEX)
Comandos del lenguaje de Definición de Datos:
Nombre
Descripción
CREATE
Utilizando para crear cualquier objeto de la base de datos
DROP
Empleado para eliminar algún objeto de la base de datos
ALTER
Utilizado para modificar algún objeto de mi base de datos
Create Database:
Crea una base de datos con el nombre dado.
Ejemplo:
Create Database Curso.
Nota: el hecho de crear la base de datos no significa que estemos ya trabajando
sobre ella, para trabajar sobre la base de datos debemos utilizar el comando USE e
indicarle el Nombre dado a la base de datos, ejemplo:
USE CURSO
Create Table:
Crea una nueva tabla.
La sintaxis SQL para CREATE TABLE es:
CREATE TABLE "nombre_tabla"
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",
... )
Antes de crear una nueva tabla debemos conocer ciertos
aspectos:
Los tipos de datos soportados por el DBMS.
2. El orden en que debo crear cada una de mis tablas
3. Conocer algunas sentencias que van a permitir
establecer restricciones a mi tabla.
1.

Numéricos Exacto
Bigint (8 bytes)
Numeric (P , S)
Bit (Almacena 0 y 1)
Smallint (2 bytes)
Decimal (P , S)
Smallmoney (4 bytes)
Int (4 bytes)
Tinyint (1 byte)
Money (8 bytes)

Numérico Aproximado
float
real

Fecha y Hora
date
datetime

Cadenas de Caracteres.
Char (Longitud fija)
Varchar (Longitud Variable)

Cadena de Caracteres Unicode
Nchar (Longitud fija)
Nvarchar (Longitud Variable)
UNICODE:
Unicode es un estándar universal para la codificación de
caracteres para el intercambio y despliegue de los
principales lenguajes escritos.
Cubre los lenguajes de las Américas, Europa, Medio Este,
África, India, Asia y el Pacífico, así como para escritos
históricos y símbolos técnicos.
IDENTITY (Identidad): Indica que la nueva columna es una
columna de identidad. Cuando se agrega una fila nueva a la tabla,
el Motor de base de datos proporciona un valor incremental
único para la columna.
Las columnas de identidad se utilizan normalmente con las
restricciones PRIMARY KEY como identificadores de fila únicos de
la tabla. La propiedad IDENTITY se puede asignar a columnas
tinyint, smallint, int, bigint, decimal(p,0) o numeric(p,0). Solo se
puede crear una columna de identidad para cada tabla.
En este caso, deben especificarse el valor de inicialización y el
incremento, o ninguno de esto valores. Si no se especifica
ninguno, el valor predeterminado es (1,1).
CONSTRAINT (Restricción): Es una palabra clave opcional que
indica el principio de la definición de una restricción PRIMARY
KEY, NOT NULL, UNIQUE, FOREIGN KEY o CHECK. Para obtener
más información.
Constraint_name Es el nombre de una restricción. Los
nombres de restricción deben ser únicos en el esquema al
que pertenece la tabla.
NOT NULL (No Nulo): Determina si se permiten valores NULL en
la columna.
CHECK (Verificación): La restricción CHECK asegura que todos los
valores en una columna cumplan ciertas condiciones.
DEFAULT (Cláusula por defecto): indica el valor de defecto que
tomará la columna si no se le asigna uno explícitamente en el
momento en que se crea la línea.
Ejemplo:
Continente
Seleccion
IdSeleccion
IdContinente
Nombre
Nombre
IdContinente
 Verificamos las dos tablas
 La
tabla Selección tiene un campo común o llave foránea,
que hace referencia al campo clave de la tabla Continente.
 La tabla Continente no tiene ningún campo común de
ninguna otra tabla
Ejemplo:
Continente
Seleccion
IdSeleccion
IdContinente
Nombre
Nombre
IdContinente
 Se
debe crear primero la tabla Continente, porque esta
tabla no tiene campo comunes o llaves foráneas.
 Luego se debe crear la Selección
Ejemplo:
Continente
IdContinente
Nombre
Para nuestro primer caso vamos a crear los campos de la
siguiente manera:
 IdContinente, tipo entero y auto numérico clave primaria.
 Nombre, tipo nvarchar(100), not null.
Código de ejemplo nro.1 : Sin Constraint
Código de ejemplo nro.2 : Con Constraint
Ejemplo:
Continente
Seleccion
IdSeleccion
IdContinente
Nombre
Nombre
IdContinente
Para nuestro primer caso vamos a crear los campos de la
siguiente manera:
 IdSelección, tipo entero y auto numérico clave primaria.
 Nombre, tipo nvarchar(100), not null.
 IdContinente, tipo entero, not null.
Código de Ejemplo:
Ejemplo 2:
TipoLibro
IdTipoLibro
Descripcion
Libro
IdLibro
Titulo
IdEditorial
LibroTipoLibro
IdLibro
IdTipoLibro
Editorial
IdEditorial
Descripcion
Orden de Creación:
TipoLibro
IdTipoLibro
Descripcion
Libro
IdLibro
Titulo
IdEditorial
LibroTipoLibro
IdLibro
IdTipoLibro
Editorial
IdEditorial
Descripcion
Código Tipo Libro:
TipoLibro
IdTipoLibro
Descripcion
LibroTipoLibro
IdLibro
IdTipoLibro
 IdTipoLibro,
tipo entero y auto
numérico clave primaria.
 Descripción, tipo nvarchar(75), not null.
IdEditorial
LibroTipoLibro
IdLibro
Código Editorial:
Editorial
IdEditorial
Descripcion
IdTipoLibro
 IdEditorial,
tipo entero y auto numérico
clave primaria.
 Descripción, tipo nvarchar(100), not
null.
TipoLibro
Código Libro:
Libro
IdLibro
Titulo
IdEditorial
IdTipoLibro
Descripcion
 IdLibro,
tipo entero y auto numérico
clave primaria.
 Titulo, tipo nvarchar(150), not null.
 IdEditorial, tipo entero, not null.
LibroTipoLibro
IdLibro
IdTipoLibro
Editorial
IdEditorial
Descripcion
Descripcion
Código LibroTipoLibro:
LibroTipoLibro
IdLibro
IdTipoLibro
 IdLibro, tipo entero not null.
 IdTipoLibro, tipo entero, not null.
Drop Database:
Elimina una base de datos de forma permanente.
Ejemplo:
Drop Database Curso.
Drop table:
Elimina una tabla de forma permanente
Ejemplo
Drop table Tablita
DROP TABLE
Al igual que el “Create Table” al momento de usar el “Drop Table”
debe utilizar el orden Correcto, se debe:
 Eliminar primero aquellas tablas que tienen campo comunes.
 Eliminar al final aquellas tablas que no tengan campo comunes,
Ejemplo:
Continente
Seleccion
IdSeleccion
Nombre
IdContinente
IdContinente
Nombre
ALTER
Use las instrucciones ALTER para modificar la definición de
objetos existentes.
Alter Table:
Una vez que se crea la tabla en la base de datos, hay muchas
ocasiones donde uno debe realizar algún cambio en la estructura
de la tabla. Los casos típicos incluyen los siguientes:
 Agregar una columna
 Eliminar una columna
 Cambiar el tipo de datos para una columna
Agregar una Columna
TipoLibro
Para agregar una columna utilizamos
IdTipoLibro nuestra sentencia ALTER
combinada con la clausula ADD Descripcion
Libro
IdLibro
Titulo
IdEditorial
Se nos pide agregar a nuestra tabla Libro
un nuevo campo llamado NumeroPaginas,
el cual será de tipo entero y not null.
LibroTipoLibro
IdLibro
IdTipoLibro
Para verificar que el cambio se efectuó de forma correcta,
ejecuto
Editorial el siguiente código:
IdEditorial
Descripcion
Sp_Columns
Libro
Eliminar una Columna
Para eliminar una columna utilizamos nuestra sentencia ALTER
combinada con la clausulas DROP COLUMN
Libro
IdLibro
Titulo
IdEditorial
Se nos pide eliminar de nuestra tabla
Libro el campo llamado NumeroPaginas.
NumeroPaginas
Para verificar que el cambio se efectuó de forma correcta,
ejecuto el siguiente código:
Sp_Columns Libro
Cambiar el tipo de datos de una Columna
TipoLibro
Para cambiar el tipo de dato de una
columna utilizamos nuestra
IdTipoLibro
Descripcion
sentencia ALTER combinada con la
clausulas ALTER COLUMN
Libro
IdLibro
Titulo
IdEditorial
Se nos pide cambiar el tipo de datos del
campo Titulo de nuestra tabla Libro, el
nuevo tipo de datos será nchar(150).
LibroTipoLibro
IdLibro
IdTipoLibro
Para verificar que el cambio se efectuó de forma correcta,
ejecuto
Editorial el siguiente código:
IdEditorial
Descripcion
Sp_Columns
Libro
1. Investigar:
 Sintaxis correcta para agregar una clave Primaria utilizando la
sentencia ALTER
 Sintaxis correcta para agregar una clave Foránea utilizando la
sentencia ALTER
2. Escribir el código necesario para Crear el siguiente modelo.
Pedido
IdPedido
Numero
Fecha
IdCliente
Impuesto
envio
total
Cliente
IdCliente
Ciudad
IdCiudad
Nombre
Nombre
Apellido
CodigoPostal
Nit
IdCiudad
Telefono
Descargar