Alter Table

download Alter Table

of 8

description

Base de datos

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