Download alter table - UT-AGS
Document related concepts
Transcript
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS ALTER TABLE Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones Alterar una tabla para agregar una nueva columna CREATE TABLE doc_exa ( column_a INT) GO ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL GO EXEC sp_help doc_exa GO DROP TABLE doc_exa GO Alterar una tabla para quitar una columna CREATE TABLE doc_exb ( column_a INT, column_b VARCHAR(20) NULL) GO ALTER TABLE doc_exb DROP COLUMN column_b GO EXEC sp_help doc_exb GO DROP TABLE doc_exb GO Agregar una columna con una restricción CREATE TABLE doc_exc ( column_a INT) GO ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL CONSTRAINT exb_unique UNIQUE GO EXEC sp_help doc_exc GO DROP TABLE doc_exc GO Agregar una restriccion que no se verifica CREATE TABLE doc_exd ( column_a INT) GO INSERT INTO doc_exd VALUES (-1) GO ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1) Agregar columnas con varias restricciones CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE) GO ALTER TABLE doc_exe ADD column_b INT IDENTITY CONSTRAINT column_b_pk PRIMARY KEY, Agregar una columna que hace referencia a otra columna en la misma tabla ALTER TABLE doc_exe ADD column_c INT NULL CONSTRAINT column_c_fk REFERENCES doc_exe(column_a), Columna con formato de teléfono ALTER TABLE doc_exe ADD column_d VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK (column_d IS NULL OR column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][09]" OR column_d LIKE "([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][09]"), Columna que acepta velores nulos con valores predeterminados ALTER TABLE MyTable ADD AddDate smalldatetime NULL CONSTRAINT AddDateDflt DEFAULT getdate() WITH VALUES Crear una tabla con una restricción CREATE TABLE cnst_example (id INT NOT NULL, name VARCHAR(10) NOT NULL, salary MONEY NOT NULL CONSTRAINT salary_cap CHECK (salary < 100000) ) Desabilitar el constraint anterior ALTER TABLE cnst_example NOCHECK CONSTRAINT salary_cap INSERT INTO cnst_example VALUES (3,"Pat Jones",105000) Rehabilitar el constraint ALTER TABLE cnst_example CHECK CONSTRAINT salary_cap INSERT INTO cnst_example VALUES (4,"Eric James",110000) Deshabilitar un trigger ALTER TABLE trig_example DISABLE TRIGGER trig1 Rehabilitar un trigger ALTER TABLE trig_example ENABLE TRIGGER trig1 Establecer una llave foránea a una tabla ALTER TABLE HIJA ADD CONSTRAINT HIJA_PADRE_FK FOREIGN KEY (A) REFERENCES PADRE(ID) Agregar el atributo de llave primaria a una columna alter table hija add constraint primary_k primary key (columna) La columna debe tener el atributo de not null SEGURIDAD EN LA BASE DE DATOS ADMINISTRADOR CORPORATIVO Autentificación Es el proceso de validar la identidad y los derechos de acceso de un usuario. Sql Server implemente 2 métodos diferentes de autentificación. Permisos Los permisos se especifican en 2 niveles: – Nivel de objeto (lectura, modificación y borrado) – Nivel de instrucción (Capacidad para ejecutar consultas de selección, inserción, actualización y borrado ) Usuarios Existen usuarios: Usuario de base de datos Usuario de inicio de sesión SQL Server define 2 usuarios especiales que existen en todas las bases de datos Usuarios especiales DBO: Es el propietario de la base de datos y no puede ser borrado. Todo miembro de la función sysadmin es asigado a este usuario Guest: Permite iniciar sesión sin tener una cuenta de usuario en la base de datos Funciones PUBLIC: Todos los usuarios son miembros de esta, ningun usuario u otras funciones pueden se añadidas a el. Funciones fijas del servidor SYSADMIN La función esta por encima de todas las restantes y tiene la autoridad para realizar todas las actividades en SQL Server. Los usuarios que son miembros del grupo de administradores de windows NT sn asignados a esta función SERVERADMIN Otorga a los usuarios la posibilidad de hacer cambios en la configuración de SQL Server. – Cuanta memoria se asigna a SQL server y cuanta al SO. SETUPADMIN Otorga el control sobre la duplicación en el sistema y los procedimientos almacenados SECURITYADMIN Proporciona la capacidad de controlar los inicios de sesión de SQL Server PROCESSADMIN Permite gestionar los porcesos que se realizan bajo SQL Server. Permite terminar un proceso o consulta de un usuario que ha fallado DBCREATOR Proporciona la capacidad de crear y modificar bases de datos DISKADMIN Proporciona la capacidad de crear archivos de disco en donde se almacena la información de las bases de datos SQL Server Funciones de la base de datos DBOWNER Se le asigna al propietario de la base de datos. Esta función puede realizar cualquier actividad dentro de la base de datos. Es superior a las restantes funciones. DB_DBACCESSADMIN Permite agregar inicios de sesion ya sea de sql server o de windows NT a una base de datos. DB_DATAREADER Permite al usuario seleccioanr datos de cualquier tabla de la base de datos definida por el usuario DB_DATAWRITER El usuario tiene la capacidad de insertar, borrar o actulizar cualquier tabla de la base de datos definida por el usuario. DB_DDLADMIN Permite a sus miembros la creación y eliminación de objetos de la base de datos definida por el usuario. DB_SECURITYADMIN Permite crear y mantener las funciones de base de datos y sus permisos, así como gestionar los permisos en la base de datos. DB_BACKUPOPERATOR Pueden realizar copias de seguridad de la base de datos. DB_DENYDATAREADER Tienen denegada la capacidad de seleccionar datos en cualquier tabla definida por el usuario DB_DENYDATAWRITER Tienen denegados todos los permisos de insertar, actualizar y borar en cualquier tabla definida por el usuario.