Download alter table - UT-AGS

Document related concepts

Lenguaje de definición de datos wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

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.