Fundamentos de BD - Unidad 6 lenguaje sql

47
FUNDAMENTOS DE BASE DE DATOS Unidad VI: Lenguaje SQL Este material está desarrollado para la asignatura Fundamentos de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224.

Transcript of Fundamentos de BD - Unidad 6 lenguaje sql

Page 1: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOS

Unidad VI: Lenguaje SQL

Este material está desarrollado para la asignatura Fundamentos de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224.

Page 2: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSFUNDAMENTOS DE BASE DE DATOS

CompetenciaAplicar el lenguaje SQL para la manipulación de datos.

Page 3: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSCompetencia Específica de la Unidad• Aplicar el lenguaje SQL para la manipulación de datos.

Desarrollo de la Unidad• En la unidad seis, se realizan consultas SQL con el fin de entender la

estructura de las consultas revisando: funciones, consultas anidadas y operaciones de modificación de las bases de datos sin profundizar, ya que el lenguaje se trabajará con mayor detalle en las materias subsecuentes.

FUNDAMENTOS DE BASE DE DATOS

Page 4: Fundamentos de BD - Unidad 6 lenguaje sql

SQL: Structured Query Language• SQL es el lenguaje estándar actual para los sistemas de base de datos

relacionales. Fue desarrollado originalmente por IBM a mediados de la década de los setenta, e implementado por primera vez en un prototipo de IBM, System R.

• En el año 1986, el lenguaje SQL fue propuesto por ANSI (Instituto nacional de normalización americano) como lenguaje relacional, y fue aceptado en 1987 por ISO como lenguaje estándar. Versiones posteriores de este lenguaje han aparecido en 1989,1992, y 1999.

• En sus orígenes fue un lenguaje de tipo lógico, basado en el calculo relacional (de tuplas) de E. F. Cood. Posteriormente fueron incorporados aspectos (operadores) algebraicos.

FUNDAMENTOS DE BASE DE DATOS

Page 5: Fundamentos de BD - Unidad 6 lenguaje sql

• Se puede afirmar que el SQL actual es un hibrido entre el Algebra Relacional y el Cálculo Relacional (de Tuplas).

• El lenguaje SQL proporciona un sublenguaje de Definición de Datos (DDL, Data Definition Language) y un sublenguaje de Manipulación de Datos (DML, Data Manipulation Language).

• Este lenguaje puede ser utilizado también en modo incrustado (o embebido), es decir, en un programa escrito en un lenguaje de alto nivel ( C, Java, Visual Basic, etc.).

FUNDAMENTOS DE BASE DE DATOS

Page 6: Fundamentos de BD - Unidad 6 lenguaje sql

Definición de tipos de datos:• En SQL Server, cada columna, variable local, expresión y parámetro

tiene un tipo de datos relacionado. Un tipo de datos es un atributo que especifica el tipo de datos que el objeto puede contener: datos de enteros, datos de caracteres, datos de moneda, datos de fecha y hora, cadenas binarias, etc.

FUNDAMENTOS DE BASE DE DATOS

Page 7: Fundamentos de BD - Unidad 6 lenguaje sql

Categorías de Tipos de Datos

En SQL Server, basado en sus características de almacenamiento, algunos tipos de datos están designados como pertenecientes a los siguientes grupos:• Tipos de datos de valores grandes: varchar(max), nvarchar(max) y

varbinary(max)• Tipos de datos de objetos grandes: text, ntext, image, varchar(max),

nvarchar(max), varbinary(max) y xml

FUNDAMENTOS DE BASE DE DATOS

Page 8: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSTipos de Datos en SQL Server

Page 9: Fundamentos de BD - Unidad 6 lenguaje sql

Lenguaje de Manipulación de Datos (DML)• DML es la parte de SQL que se usa para la recuperación o

manipulación de datos. Se refiere a los comandos responsables por las consultas y modificaciones de los contenidos de las tablas.

Comandos más importantes:

FUNDAMENTOS DE BASE DE DATOS

Page 10: Fundamentos de BD - Unidad 6 lenguaje sql

• SQL (SQL Server Particularmente) acepta los operadores más comunes que se encuentran en la mayor parte de los lenguajes.

• Los operadores actúan sobre operandos, o sea, sobre los elementos a los que se les aplicará la operación determinada por el operador.

• Existen dos tipos de operadores: los unarios, que actúan sobre un único operando, y los binarios que actúan sobre dos operandos.

FUNDAMENTOS DE BASE DE DATOS

Page 11: Fundamentos de BD - Unidad 6 lenguaje sql

Aritméticos

• Multiplicación ( * )• División ( / )• Sustracción ( - )• Adición ( + )• Módulo ( % )

FUNDAMENTOS DE BASE DE DATOSComparación

• Igualdad ( = )• Desigualdad ( <> )• Mayor que ( > )• Menor que ( < )• Mayor o igual a ( >= )• Menor o igual a ( <= )

Lógicos

• NOT (Negación)• AND (y lógico) • OR ( o lógico)

Page 12: Fundamentos de BD - Unidad 6 lenguaje sql

Instrucción SELECT

FUNDAMENTOS DE BASE DE DATOS

La instrucción SELECT se utiliza principalmente para la recuperación de datos específicos de una Tabla o Vista.

Una instrucción SELECT puede ser simple o compleja (no es necesariamente mejor que sea compleja). Hay que intentar construir las instrucciones SELECT de la forma más sencilla posible siempre que recuperen los resultados necesarios.

Por ejemplo, si se necesita mostrar solo dos columnas de una tabla, hay que incluir solo esas dos columnas en la sentencia SELECT.Sintaxis:

SELECT nombre_de_columnas

FROM tabla_a_la_que_se_consulta

Se colocan los nombres de las columnas que se mostraran en el SELECT, separados por una coma.

Se colocan los nombres de las Tablas a las cuales pertenecen las columnas.

Page 13: Fundamentos de BD - Unidad 6 lenguaje sql

Ejemplo 1: Liste de la Tabla clientes de la base de datos Sales, las columnas nombre y apellido1:

SELECT nombre, apellido1 FROM clientes

Ejemplo 2: Liste todos los atributos de la tabla clientes. En SQL se utiliza el comodín asterisco ( * ) para listar todos los campos de una tabla:

SELECT * FROM clientes

FUNDAMENTOS DE BASE DE DATOS

Page 14: Fundamentos de BD - Unidad 6 lenguaje sql

Después de que se haya decidido qué datos se necesitan y de qué tablas, se puede determinar qué otras opciones, en caso necesario hay que utilizar. Estas opciones pueden incluir especificar que columnas deberían estar en la cláusula WHERE, especificar si hay que ordenar los datos devueltos y especificar si sean de devolver solo valores distintos.

Cláusula WHEREEsta cláusula permite hacer una selección sobre los atributos de las diversas columnas que se desean mostrar, en base a diversas condiciones. Acá se pueden ocupar algunos operadores de comparación y lógicos.

La clausula WHERE se ubica bajo la clausula FROM.

FUNDAMENTOS DE BASE DE DATOS

Page 15: Fundamentos de BD - Unidad 6 lenguaje sql

Ejemplo 1: Liste desde la tabla clientes todos los clientes que tengan dirección en Guasave. Solo muestre el id, nombre, apellido1 y ciudad.

Select id, nombre, apellido1, ciudad from clientes Where ciudad = ‘Guasave’

• Ejemplo 2: Utilizando operadores, realice una consulta que le permita listar el id, nombre, apellido1 y ciudad, de los clientes que vivan en Guasave o Guamuchil.

FUNDAMENTOS DE BASE DE DATOS

Page 16: Fundamentos de BD - Unidad 6 lenguaje sql

• La clausula SELECT consiste en una lista de selección y posiblemente algunos argumentos opcionales.

• La lista de selección es la lista de expresiones o columnas que se especifican en la clausula SELECT para indicar que datos hay que devolver.

Argumentos Opcionales• Se pueden utilizar los siguientes dos argumentos en la instrucción SELECT

para controlar que filas se devuelven:

FUNDAMENTOS DE BASE DE DATOS

Page 17: Fundamentos de BD - Unidad 6 lenguaje sql

DISTINCT: devuelve solamente filas únicas. Si la lista de selección contiene varias columnas, las filas se consideran únicas si los valores correspondientes en al menos una de las columnas es diferente. Para que se dupliquen dos filas deben contener valores idénticos en cada columna.

Ejemplo: Liste desde la tabla clientes el nombre y el apellido, de tal manera que no se repitan los datos.

SELECT DISTINCT nombre, apellido1 FROM clientes

FUNDAMENTOS DE BASE DE DATOS

Page 18: Fundamentos de BD - Unidad 6 lenguaje sql

TOP n [PERCENT]: Devuelve solamente las primeras filas del conjunto resultado. PERCENT es opcional e indica un porcentaje de filas listadas de acuerdo al total final, se debe por lo tanto indicar un porcentaje con valores entre 0 y 100.

Ejemplo 1: Liste la mitad de los nombres y apellidos de la tabla clientes (50 %)

SELECT TOP 50 PERCENT nombre, apellido FROM clientes

FUNDAMENTOS DE BASE DE DATOS

Page 19: Fundamentos de BD - Unidad 6 lenguaje sql

Ejemplo 2: Liste exactamente los 5 primeros nombres y apellidos de la tabla clientes.

SELECT TOP 5 nombre, apellido FROM clientes

Nota: en valores exactos no va PERCENT

FUNDAMENTOS DE BASE DE DATOS

Page 20: Fundamentos de BD - Unidad 6 lenguaje sql

Alias de Columna: Se puede utilizar un alias para clarificar el significado de los datos en una columna de salida, para asignar una cabecera a una columna que se utiliza en una función.

Ejemplo 1: Cambiar el nombre de la columna de salida au_fname a NOMBRE

SELECT apellido1 AS Apellido FROM clientes

FUNDAMENTOS DE BASE DE DATOS

Page 21: Fundamentos de BD - Unidad 6 lenguaje sql

Cláusula ORDER BY: Esta cláusula permite ordenar el resultado de la consulta, definiendo el orden en que se presentan las columnas seleccionadas en la lista de selección. Se pueden presentar en orden ascendente (por defecto) y descendente (se coloca después de la columna a ordenar la palabra clave DESC).

Ejemplo 1: Liste los nombres y apellidos de los clientes (tabla clientes) en orden descendente y después en orden ascendente (por apellido1).

ResultadosSELECT nombre, apellido1 FROM clientes where ciudad = ‘Guasave’ ORDER BY apellido1SELECT nombre, apellido1 FROM clientes ORDER BY apellido1 DESC

FUNDAMENTOS DE BASE DE DATOS

Page 22: Fundamentos de BD - Unidad 6 lenguaje sql

Funciones de AgregaciónLa instrucción INSERT se utiliza para insertar una fila de datos en una

tabla o vista.

SintaxisINSERT INTO nombre_tabla (columna1, columna2, ….., columnaN)

VALUES ( valor1, valor2,….., valorN )

FUNDAMENTOS DE BASE DE DATOS

Page 23: Fundamentos de BD - Unidad 6 lenguaje sql

Ejemplo 1: Inserte los campos a la tabla Demo2 (codigo, nombre, estado)INSERT INTO Clientes (Id, nombre, apellido1, apellido2, ciudad, domicilio, fecha)

VALUES (150, 'Elba', 'Gordillo', '', 'DF', 'Pedregal', '20061228' )

NOTA 1: la lista de los datos a ingresar tienen que ser en el mismo orden de las columnas definidas.

NOTA 2: Si vas a ingresar todos los datos asociados a la Tabla, no necesita colocar el nombre de las columnas solo los valores a registrar.

Ejemplo 2: Insertar una fila en la tabla Clientes.INSERT INTO clientes

VALUES ( 100, 'jose', 'sandoval', 'acosta', 'los mochis', 'las palmas', '20040101')

FUNDAMENTOS DE BASE DE DATOS

Page 24: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOS La introducción UPDATE se utiliza para actualizar o cambiar

un valor o valores en una fila o filas de una tabla.

Sintaxis:

UPDATE nombre_tabla_actualizar

SET columna_actualizar1 = nuevo_valor,

columna_actualizar2 = nuevo_valor

WHERE condiciones_para_actualizar

Acá se colocan las columnas que serán modificadas dentro de la fila o filas.

Se colocan condiciones para poder actualizar. De la condición dependen las filas que se actualizan.

Page 25: Fundamentos de BD - Unidad 6 lenguaje sql

• Ejemplo: Actualice el atributo nombre de la tabla Clientes, que referencia a ‘RAUL’ por el Nombre ‘RAUL ARMANDO’, y su Ciudad de ‘DF’ a ‘NL’.

Resuldatos:

UPDATE clientes SET nombre = ‘Raul Armando’, ciudad = ‘NL’ WHERE nombre = ‘Raul’

FUNDAMENTOS DE BASE DE DATOS

Page 26: Fundamentos de BD - Unidad 6 lenguaje sql

La instrucción DELETE se utiliza para borrar una o varias filas de datos de una tabla. Se puede incluso borrar todas las filas de una tabla.

Sintaxis:

DELETE FROM nombre_tabla WHERE condiciones_para_borrar

Ejemplo 1: Borre desde la tabla clientes el código 150:DELETE FROM clientes WHERE id = 150

Ejemplo 2: Borre todas las filas de la Tabla clientes:DELETE FROM clientes

FUNDAMENTOS DE BASE DE DATOS

Page 27: Fundamentos de BD - Unidad 6 lenguaje sql

Vistas en SQL

¿Qué son las Vistas? Son tablas virtuales en donde podemos visualizar los datos que consultemos. Si actualizamos los datos de una vista, actualizaremos la tabla, y si actualizamos la tabla estos cambios serán visibles desde la vista.

¿Por qué crear vistas? Seguridad: Visualizamos solo una parte de la información que existe en

nuestras tablas Comodidad: El modelo relacional no es cómodo para visualizar , tener

una vista nos simplifica esta tarea.

FUNDAMENTOS DE BASE DE DATOS

Page 28: Fundamentos de BD - Unidad 6 lenguaje sql

Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SELECT válida.Sintaxis:

CREATE VIEW <nombre_vista> AS (<sentencia_select>)

Ejemplo 1: Crear una vista sobre las tablas clientes y prestamos, en la que se muestre el nombre, apellidos del cliente y el importe de su préstamo. CREATE VIEW vista_prestamos AS ( SELECT nombre, apellidos, importe

FROM clientes, prestamos WHERE id=idCliente)

FUNDAMENTOS DE BASE DE DATOS

Page 29: Fundamentos de BD - Unidad 6 lenguaje sql

Modificación de una VistaSi queremos, modificar la definición de nuestra vista podemos utilizar la sentencia ALTER VIEW, de forma muy parecida a como lo hacíamos con las tablas. En este caso queremos colocar un alias a los campos de nuestra vista:

ALTER VIEW vista_prestamos AS ( SELECT nombre as Nombre, apellido1 as [Primer Apellido], importe as [Monto Prestado] FROM clientes, prestamos WHERE id=idCliente ) )

FUNDAMENTOS DE BASE DE DATOS

Page 30: Fundamentos de BD - Unidad 6 lenguaje sql

Eliminación de una VistaPor último, podemos eliminar la vista a través de la sentencia DROP VIEW. Para eliminar la vista que hemos creado anteriormente se utilizaría:

Sintaxis:DROP VIEW nombre_vista

Ejemplo 1:DROP VIEW vista_prestamos

FUNDAMENTOS DE BASE DE DATOS

Page 31: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSLenguaje de definición de datos (DDL)La estructura básica de una base de datos relacional:

Base de Datos

Catálogos

Esquemas

Tablas y Vistas

PrivilegiosColumnas

La tabla es la unidad básica de gestión de datos en una base de datos relacional en SQL. El esquema de la tabla está definida por las columnas y sus tipos.

Page 32: Fundamentos de BD - Unidad 6 lenguaje sql

Creación de Bases de Datos en SQL Server• En una instancia de SQL Server se pueden especificar 32.767 bases de datos

como máximo.• Es requerido que el usuario que cree la base de datos tenga los privilegios

necesarios para tal acción en el SQL Server, de lo contrario no podrá realizar la tarea de creación.

• Al crear una DB es recomendado especificar el tamaño inicialdel archivo donde se almacenará la información, así como el tamaño máximo del mismo y su cuota de crecimiento (todos en MB)

FUNDAMENTOS DE BASE DE DATOS

Page 33: Fundamentos de BD - Unidad 6 lenguaje sql

Ejemplo:USE master

CREATE DATABASE Sales ON (

NAME = Sales_dat,

FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\saledat.mdf',

SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )

LOG ON (

NAME = Sales_log,

FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\salelog.ldf',

SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

FUNDAMENTOS DE BASE DE DATOS

Page 34: Fundamentos de BD - Unidad 6 lenguaje sql

• Una tabla es un objeto de una base de datos que almacena datos en una colección de filas y columnas. Una tabla se define por las columnas que contiene. Así los datos pueden organizarse de forma similar a una hoja de cálculo.

Cabe recordar que una Tabla es lo mismo que una Relación• Para definir una tabla se debe decidir qué columnas definir y que tipo de datos,

como por ejemplo datos de caracteres o numéricos, se permite que haya en cada columna.

• También se debe decidir sobre un rango permisible a esos datos – por ejemplo, podría decidirse permitir hasta 30 caracteres o números de 4 bytes. Estos atributos se especifican mediante la asignación a cada columna de un tipo de datos, que es un conjunto de atributos que determinan que tipo y rango de datos puede albergar esa columna.

FUNDAMENTOS DE BASE DE DATOS

Page 35: Fundamentos de BD - Unidad 6 lenguaje sql

• La asignación de tipos de datos a una columna fija los siguientes atributos: La clase de datos que la columna puede contener, como caracteres, enteros o

imagines. El tamaño o longitud de los datos de una columna. La precisión del número (solo para tipos numéricos) - esto es, el número de dígitos

que puede contener un número. La escala del número (sólo para tipos numéricos) – esto es, el número de dígitos que

pueden almacenarse a la derecha del punto decimal.• A continuación se darán a conocer un conjunto de tipos de datos pertenecientes a SQL

SERVER.

FUNDAMENTOS DE BASE DE DATOS

Page 36: Fundamentos de BD - Unidad 6 lenguaje sql

Tipos de Datos SQL SERVER:

FUNDAMENTOS DE BASE DE DATOS

Numéricos: BIT, INT, SMALLINT, DECIMAL, NUMERIC, MONEY, SMALMONEY, FLOAT.

Fechas: DATETIME, SMALLDATETIME.

String: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT.

String Binarias: BINARY, VARBINARY, IMAGE.

Page 37: Fundamentos de BD - Unidad 6 lenguaje sql

Creación de Tablas

• El comando CREATE TABLE tiene por finalidad crear una nueva tabla en la base de datos. SQL SERVER permite hasta dos billones de tablas por base de datos y hasta 1024 columnas por tabla. No existe limite para la cantidad de filas por tabla, salvo por el espacio físico disponible.

FUNDAMENTOS DE BASE DE DATOS

Page 38: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSSintaxis:

CREATE TABLE nombre_tabla (

nombre_atributo1 tipo dato,

nombre_atributo2 tipo_dato,

…………

nombre_atributoN tipo_dato,

)

Ejemplo:

create table prestamos (

idPrestamo int NOT NULL,

idCliente int NOT NULL,

sucursal varchar(25) DEFAULT (''),

importe int default (0),

fechaPrestamo date

)

Conjunto de Atributos con sus respectivos tipos de datos.

NOTA: Para poder ver las tablas creadas en tu esquema relacional en SQL SERVER ejecuta el siguiente comando:

select * from information_schema.tables where TABLE_TYPE = 'BASE TABLE‘

Para poder ver el detalle de una tabla ejecuta el siguiente comando:

select * from information_schema.columns where TABLE_NAME = ‘Nombre_Tabla‘ order by table_name

Page 39: Fundamentos de BD - Unidad 6 lenguaje sql

Eliminación de Tablas• Tal como existe una sentencia para crear tablas existe una para borrarlas por

completo de un esquema (schema, este se define por lo nombres de usuarios definidos para la base de datos).

Sintaxis:• DROP TABLE nombre_tabla_a_eliminar

Ejemplo:• DROP TABLE clientes

FUNDAMENTOS DE BASE DE DATOS

Page 40: Fundamentos de BD - Unidad 6 lenguaje sql

Uso de Valores NULL

• Un valor NULL es un valor desconocido al que se le refiere como NULL. • La admisión de nulos de una columna se refiere a la posibilidad de la

columna de aceptar o rechazar valores NULL.• Un valor NULL en una columna indica normalmente que no se ha introducido

nada para una fila particular de datos porque el valor es desconocido, no aplicable, no definido o se ha de añadir en un momento posterior.

• Los valores NULL no son ni valores vacíos ni valores 0; sus valores verdaderos son desconocidos - así no hay dos valores NULL que sean iguales.

FUNDAMENTOS DE BASE DE DATOS

Page 41: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSUso de Valores NULL

Ejemplo:

CREATE TABLE ejemplo (

atributo1 int NOT NULL,

……

atributo2 char NULL

)

Ejercicio: Crear la tabla Demo2 colocando el atributo codigo y estado como NOT NULL .

Se especifica generalmente solo en el caso del NOT NULL, ya que por defecto son NULL.

Page 42: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSValor por DEFECTO A las columnas también se les puede colocar un valor por defecto, en el caso de que no se ingresen datos en esa fila. Para poder hacer esto la columna debe ser pensada para aceptar datos NULL.

Nomenclatura:

nombre_atributo tipo_de_dato DEFAULT (Valor)

Ejemplo:CREATE TABLE ejemplo (

atributo1 int NOT NULL,

atributo2 char DEFAULT (‘A’),

atributo3 int DEFAULT(1)

)

DEFAULT es la palabra reservada para el caso de números dentro del paréntesis sólo se coloca el número, en el caso de texto se coloca entre comas simples ‘ ‘.

Page 43: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSPropiedad IDENTITYAl crear una tabla se puede especificar una columna como columna de identidad añadiendo la propiedad IDENTITY a la definición de la columna.

Si se crea una columna con la propiedad IDENTITY se genera automáticamente un valor de fila para esa columna, basándose en un valor semilla y un valor de incremento.

Ejemplo:

valor semilla (1) y valor incremento (2)

Para la primera fila el valor del atributo sería 1

Para la segunda fila el valor del atributo sería 3

Sintaxis:

Nombre_Atributo tipo_dato IDENTITY (valor semilla, valor incremento)

Page 44: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSPropiedad IDENTITYEjemplo:

CREATE TABLE ejemplo (

atributo1 int IDENTITY (1,1) NOT NULL,

atributo2 nvarchar(20)

)

Ejercicio:

Crear la tabla DEMO2 colocando el código con la propiedad IDENTITY comenzando con un valor base 1 e incrementando de 1 en 1.

Page 45: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSALTER TABLE

La instrucción ALTER TABLE se utiliza para modificar la definición o los atributos de una tabla.

Se pueden modificar columnas, eliminar atributos, modificar restricciones, añadir atributos, etc.

Sintaxis:

• ALTER TABLE nombre_tabla (tipo de cambio) ALTER COLUMN, ADD, DROP.

Page 46: Fundamentos de BD - Unidad 6 lenguaje sql

FUNDAMENTOS DE BASE DE DATOSALTER TABLEEjemplo:

CREATE TABLE ejemplo (

atributo1 int,

atributo2 nvarchar

)

/* Se modifica columna*/

ALTER TABLE ejemplo

ALTER COLUMN atributo2 int

Se cambia el tipo de dato del atributo

Page 47: Fundamentos de BD - Unidad 6 lenguaje sql

Bibliografía

“Fundamentos de bases de datos. Cuarta edición”. Abraham Silberschatz et al. McGraw Hill. Madrid. Ebook. 2002.

“Introducción a los Sistemas de Base de Datos”, C. J. Date, Prentice Hall – Séptima Edición, 2001.

“Running SQL SERVER 2000”, Marci Frohock García & Jamie Reding & Edward Whalen & Steve Adrien Deluca, McGraw – Hill – 2001.

“SQL SERVER 7.0 – Iniciación y Referencia”, José Antonio Ramalho, McGraw-Hill – 2000.

“Bases de Datos Relacionales”, Matilde Celma Giménez & Juan Casamayor & Laura Mota, Prentice Hall, 2003.

FUNDAMENTOS DE BASE DE DATOS