Alter Table
-
Upload
fabricio-vilcacundo -
Category
Documents
-
view
218 -
download
0
description
Transcript of Alter Table
-
ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO
SEMESTRE ABRIL 2015 AGOSTO 2015
TAREA No.
IDENTIFICACION
Facultad: Informtica y Electrnica
Carrera: Ingeniera En Electrnica, Telecomunicaciones Y Redes
Materia: Base de Datos
Semestre: Cuarto A
Docente: Ing. Blanca Hidalgo
Integrantes:
Fabricio Vilcacundo (656)
Fecha: 06 de Julio del 2015
Calificacin Revisado
-
TEMA: ALTERAR UNA TABLA DE UNA BASE DE DATOS (ALTER TABLE)OBJETIVO GENERAL
Conocer la forma de editar o alterar una base de datos usando lenguajede consultas en SQL Server
OBJETIVOS ESPECFICOS Conocer la sintaxis para llevar a cabo las instrucciones de edicin de tablas Demostrar con un ejemplo los temas tratados.
MARCO TERICO
Agregar y eliminar campos ( alter table - add - drop)
"alter table" permite modificar la estructura de una tabla.Podemos utilizarla para agregar, modificar y eliminar campos de unatabla.
Para agregar un nuevo campo a una tabla empleamos la siguiente sintaxisbsica:
alter table NOMBRETABLA
add NOMBRENUEVOCAMPO DEFINICION;
En el siguiente ejemplo agregamos el campo "cantidad" a la tabla "libros",de tipo tinyint, que acepta valores nulos:
alter table libros
add cantidad tinyint;
Puede verificarse la alteracin de la estructura de la tabla ejecutando elprocedimiento almacenado "sp_columns".
SQL Server no permite agregar campos "not null" a menos que seespecifique un valor por defecto:
alter table libros
add autor varchar(20) not null default 'Desconocido';
En el ejemplo anterior, se agreg una restriccin "default" para el nuevocampo, que puede verificarse ejecutando el procedimiento almacenado"sp_helpconstraint".
-
Al agregar un campo puede especificarse que sea "identity" (siempre queno exista otro campo identity).
Para eliminar campos de una tabla la sintaxis bsica es la siguiente:
alter table NOMBRETABLA
drop column NOMBRECAMPO;
En el siguiente ejemplo eliminamos el campo "precio" de la tabla "libros":
alter table libros
drop column precio;
No pueden eliminarse los campos que son usados por un ndice o tenganrestricciones. No puede eliminarse un campo si es el nico en la tabla.
Podemos eliminar varios campos en una sola sentencia:
alter table libros
drop column editorial,edicion;
Alterar campos (alter table - alter)
Hemos visto que "alter table" permite modificar la estructura de una tabla.Tambin podemos utilizarla para modificar campos de una tabla.
La sintaxis bsica para modificar un campo existente es la siguiente:
alter table NOMBRETABLA
alter column CAMPO NUEVADEFINICION;
Modificamos el campo "titulo" extendiendo su longitud y para que NOadmita valores nulos:
alter table libros
alter column titulo varchar(40) not null;
En el siguiente ejemplo alteramos el campo "precio" de la tabla "libros"que fue definido "decimal(6,2) not null" para que no acepte valores nulos:
-
alter table libros
alter column precio decimal(6,2) null;
SQL Server tiene algunas excepciones al momento de modificar loscampos. No permite modificar:
- campos de tipo text, image, ntext y timestamp.
- un campo que es usado en un campo calculado.
- campos que son parte de ndices o tienen restricciones, a menos que elcambio no afecte al ndice o a la restriccin, por ejemplo, se puede ampliarla longitud de un campo de tipo caracter.
- agregando o quitando el atributo "identity".
- campos que afecten a los datos existentes cuando una tabla contieneregistros (ejemplo: un campo contiene valores nulos y se pretenderedefinirlo como "not null"; un campo int guarda un valor 300 y sepretende modificarlo a tinyint, etc.).
Para realizar cualquiera de los puntos listados se emplea la instruccin
ALTER.
alter table "nombre_tabla"
[cdigo de modificacin]
[cdigo modificacin] depende del tipo de modificacin que deseamosrealizar. Para los usos mencionados anteriormente, las instrucciones
[cdigo modificacin] son:
Agregar un campo: ADD campo 1 tipo de datos campo 1 Eliminar un campo: DROP campo 1 Cambiar el nombre de un campo: CHANGE nombre antiguo del
campo nuevo nombre del campo tipo de datos para el nuevocampo"
Cambiar el tipo de datos para un campo: MODIFY campo 1nuevo tipo de datos
-
EJERCICIOS:
Primero creamos la tabla AdeventureWorks2008
Luego creamos una tabla declarando la clave primaria:
USE AdventureWorks2008GOCREATE TABLE Products(ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,ProductName VARCHAR(25));GO
-
Alterar la tabla para eliminar la clave primaria
ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO
Establecer una clave primaria alterando la tabla
ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO
Crear una tabla declarando una clave fornea
CREATE TABLE ProductSales(SalesID INT,ProductID INT,SalesPerson VARCHAR(25)CONSTRAINT pk_productSales_sid PRIMARY KEY(SalesID),CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID));GO
Alterar la tabla creada para eliminar la clave fornea
-
ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO
CONCLUSIONES
Se conoci la forma de editar o alterar una base de datos usando lenguajede consultas en SQL Server
Se comprendi la sintaxis para llevar a cabo las instrucciones de edicinde tablas
Se demostr con un ejemplo los temas tratados.
RECOMENDACIONES Conocer todas las funciones que son posibles realizarlas mediante el
lenguaje de consulta ya sea creacin borrado o alteracin de tablas enuna base de datos
Tener conocimimientos previos acerca de las relaciones entre tablas quese dan en una base de datos.
BIBLIOGRAFA
SQL ALTER TABLE Statement.Recuperado de:http://www.w3schools.com/sql/sql_alter.asp
Alterar campos (alter table, alter). Recuperado de:http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=90&punto=84
Agregar y eliminar campos (alter table-add-drop).Recuperado de:http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=89&punto=83
-
Resumen:
TEMA: ALTERAR UNA TABLA DE UNA BASE DE DATOS grupo #: 656
ALTER TABLE
"Alter table" permite modificar la estructura de una tabla.Podemos utilizarla para agregar, modificar y eliminar campos de unatabla.
Para agregar un nuevo campo a una tabla empleamos la siguiente sintaxisbsica:
alter table NOMBRETABLA
add NOMBRENUEVOCAMPO DEFINICION;
Para realizar cualquiera de los puntos listados se emplea la instruccin
ALTER.
alter table "nombre_tabla"
[cdigo de modificacin]
[cdigo modificacin] depende del tipo de modificacin que deseamosrealizar. Para los usos mencionados anteriormente, las instrucciones
[cdigo modificacin] son:
Agregar un campo: ADD campo 1 tipo de datos campo 1 Eliminar un campo: DROP campo 1 Cambiar el nombre de un campo: CHANGE nombre antiguo del
campo nuevo nombre del campo tipo de datos para el nuevocampo"
Cambiar el tipo de datos para un campo: MODIFY campo 1nuevo tipo de datos