Unidad II Desarrollo de Base de Datos Sql server
UNIDAD II DESARROLLO
DE
BASES DE DATOS
CE5.2.1 Describir los mecanismos de acceso que se utilizan para entrar a las bases de datos:
Open DataBase Connectivity (ODBC):
un estándar de acceso a las bases de datos desarrollado
por SQL Access Group (SAG) en 1992. El objetivo de ODBC es hacer
posible el acceder a cualquier dato desde cualquier aplicación, sin importar
qué sistema de gestión de bases de datos (DBMS) almacene los datos.
ODBC logra esto al insertar una capa intermedia denominada nivel de Interfaz de
Cliente SQL (CLI), entre la aplicación y el DBMS. El propósito de esta capa es
traducir las consultas de datos de la aplicación en comandos que el DBMS
entienda. Para que esto funcione tanto la aplicación como el DBMS deben ser
compatibles con ODBC, esto es que la aplicación debe ser capaz de producir
comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión
2.0 el estándar soporta SAG (SQL Access Group) y SQL.
El software funciona de dos modos, con un software
manejador en el cliente, o una filosofía cliente-servidor. En el primer modo,
el driver interpreta las conexiones y llamadas SQL y las traduce desde el API
ODBC hacia el DBMS. En el segundo modo para conectarse a la base de
datos se crea una DSN dentro del ODBC que define los parámetros,
ruta y características de la conexión según los datos que solicite el creador o
fabricante.
Objetos de
datos activos (ActiveX Data Objects (ADO)):
ActiveX Data Objects (ADO) es uno de los mecanismos
que usan los programas de computadoras para comunicarse con
las bases de datos, darles órdenes y obtener resultados de ellas.
Con ADO, un programa puede leer, insertar, editar, o
borrar, la información contenida en diferentes áreas de almacenamiento dentro
de la base de datos llamadas tablas. Además, se puede manipular la propia base
de datos para crear nuevas áreas para el almacenamiento de información
(tablas), como también alterar o eliminar las ya existentes, entre otras cosas.
Fue desarrollado por Microsoft y es usado en
ambientes Windows por lenguajes de programación como Visual
Basic, C++, Delphi entre otros, como también en la Web mediante
el uso de Active Server Pages (ASP) y el lenguaje VBScript.
Conectividad
de base de datos Java (Java Data Base Connectivity (JDBC)):
Java Database Connectivity (en
español: Conectividad a bases de datos de Java), más conocida por sus siglas JDBC,
es una API que permite la ejecución de operaciones sobre bases
de datos desde el lenguaje de programación Java,
independientemente del sistema operativo donde se ejecute o de la base de datos
a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que
se utilice.
El API JDBC se presenta como una colección de interfaces Java y
métodos de gestión de manejadores de conexión hacia cada modelo específico de
base de datos. Un manejador de conexiones hacia un modelo de base de datos en
particular es un conjunto de clases que implementan las interfaces Java y que
utilizan los métodos de registro para declarar los tipos de localizadores a
base de datos (URL) que pueden manejar. Para utilizar una base de datos
particular, el usuario ejecuta su programa junto con la biblioteca de conexión
apropiada al modelo de su base de datos, y accede a ella estableciendo una
conexión; para ello provee el localizador a la base de datos y los parámetros
de conexión específicos. A partir de allí puede realizar cualquier tipo de
tarea con la base de datos a la que tenga permiso: consulta, actualización,
creación, modificación y borrado de tablas, ejecución de procedimientos
almacenados en la base de datos, etc.
CE5.2.2 Analizar o modificar la estructura de la base de datos.
Tabla
Crear una tabla:
Como añadir una columna una tabla:
Como modificar una columna:
Eliminar una tabla:
Vistas o consultas
Ejemplo Consulta:
Como crear una vista:
Procedimiento almacenado
Crear procedimiento almacenado:
Ejecutar procedimiento almacenado:
Como eliminar un procedimiento almacenado:
Disparadores o triggers
Como crear un disparador:
Accionar un disparador:
Eliminar un disparador o trigger:
Esquema conceptual o diagramas
Como crear un diagrama:
CE5.2.3 Generar los documentos necesarios de la base de datos creada o modificada.
Archivos de la base de datos:
Por ejemplo, una base de datos
sencilla denominada Ventas tiene un archivo principal que
contenga todos los datos y objetos y un archivo de registro con la información
del registro de transacciones. Puede crearse una base de datos más
compleja, Pedidos, compuesta por un archivo principal y
cinco archivos secundarios. Los datos y objetos de la base de datos se
reparten entre los seis archivos, y cuatro archivos de registro adicionales
contienen la información del registro de transacciones.
De forma predeterminada, los datos y
los registros de transacciones se colocan en la misma unidad y ruta de acceso
para manipular los sistemas de disco único, pero puede que esta opción no
resulte óptima para los entornos de producción. Se recomienda colocar los
archivos de datos y de registro en distintos discos.
Los archivos SQL
Server tienen dos tipos de nombres de archivo:
logical_file_name: logical_file_name es el nombre que se
usa para hacer referencia al archivo físico en todas las instrucciones
Transact-SQL. El nombre de archivo lógico tiene que cumplir las reglas de
los identificadores de SQL Server y tiene que ser único entre los
nombres de archivos lógicos de la base de datos.
os_file_name: os_file_name
es el nombre del archivo físico que incluye la ruta de acceso al directorio. Debe
seguir las reglas para nombres de archivos del sistema operativo.
Para obtener más información
sobre NAME
y el argumento FILENAME
, consulte
las Opciones File y Filegroup de ALTER DATABASE (Transact-SQL).
USE master;
GO
-- Create the database with the
default data
-- filegroup, filestream filegroup and
a log file. Specify the
-- growth increment and the max size
for the
-- primary data file.
CREATE DATABASE MyDB
ON PRIMARY
( NAME='MyDB_Primary',
FILENAME=
'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB_Prm.mdf',
SIZE=4MB,
MAXSIZE=10MB,
FILEGROWTH=1MB),
FILEGROUP MyDB_FG1
( NAME = 'MyDB_FG1_Dat1',
FILENAME =
'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\data\MyDB_FG1_1.ndf',
SIZE = 1MB,
MAXSIZE=10MB,
FILEGROWTH=1MB),
( NAME = 'MyDB_FG1_Dat2',
FILENAME =
'c:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\data\MyDB_FG1_2.ndf',
SIZE = 1MB,
MAXSIZE=10MB,
FILEGROWTH=1MB),
FILEGROUP FileStreamGroup1 CONTAINS
FILESTREAM
( NAME = 'MyDB_FG_FS',
FILENAME = 'c:\Data\filestream1')
LOG ON
( NAME='MyDB_log',
FILENAME =
'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB.ldf',
SIZE=1MB,
MAXSIZE=10MB,
FILEGROWTH=1MB);
GO
ALTER DATABASE MyDB
MODIFY FILEGROUP MyDB_FG1 DEFAULT;
GO
-- Create a table in the user-defined
filegroup.
USE MyDB;
CREATE TABLE MyTable
( cola int PRIMARY KEY,
colb char(8) )
ON MyDB_FG1;
GO
-- Create a table in the filestream
filegroup
CREATE TABLE MyFSTable
(
cola int PRIMARY KEY,
colb VARBINARY(MAX) FILESTREAM NULL
)
GO
CE5.2.4 Administrar las actividades de los datos para garantizar que los usuarios trabajen en forma cooperativa y complementaria al procesar informaciones en la base de datos.
Documentación de los datos:
Documentación
de datos. Una de las principales características de un DBA exitoso es la capacidad
de organizarse. La mayoría de los administradores de base de datos están familiarizados
con los sistemas que gestionan, así como las tareas que se deben realizar sobre
una tarea del día a día.
Sin embargo,
incluso los mejores administradores de bases no se basan exclusivamente en su memoria. DBA debe
compilar y mantener la documentación, a menudo referido como un "libro de
ejecución", que incluye información como:
Ajustes de
configuración y ubicación de archivos.
Datos de
contacto personal.
Procedimientos
de mantenimiento estándar y horarios.
Procedimiento
de recuperación de desastres.
Procedimientos de control:
Procedimiento
de control o Almacenado. Un procedimiento almacenado de SQL Server es
un grupo de una o más instrucciones Transact-SQL o una referencia a
un método de Common Runtime Language (CLR) de Microsoft .NET Framework. Los
procedimientos se asemejan a las construcciones de otros lenguajes de
programación, porque pueden:
Aceptar
parámetros de entrada y devolver varios valores en forma de parámetros de
salida al programa que realiza la llamada.
Contener instrucciones
de programación que realicen operaciones en la base de datos. Entre otras,
pueden contener llamadas a otros procedimientos.
Devolver un
valor de estado a un programa que realiza una llamada para indicar si la
operación se ha realizado correctamente o se han producido errores, y el motivo
de estos.
Proporciona estándar de los datos:
Un estándar de datos es la definición
clara y completa de la expectativa de los elementos descritos en un conjunto de
datos:
como cuando en una hoja de Excel
tenemos la primera fila con la serie de nombres de columnas con una descripción
de los campos a recibir y su contenido.
CE5.2.5 Crear roles con los permisos a los objetos de la base de datos de acuerdo con los perfiles de los usuarios que utilizarán las aplicaciones.
Un rol de aplicación es una entidad de seguridad de base de datos que permite que una aplicación se ejecute con sus propios permisos de usuario. Puede utilizar los roles de aplicación para permitir el acceso a datos específicos únicamente a aquellos usuarios que se conecten a través de una aplicación concreta.
A diferencia de los roles de base de datos, los roles de aplicación no contienen miembros y están inactivos de manera predeterminada. Los roles de aplicación se habilitan empleando sp_setapprole, que requiere una contraseña. Debido a que los roles de aplicación son una entidad de seguridad de la base de datos, solo pueden obtener acceso a otras bases de datos por medio de los permisos que se conceden para dichas bases de datos a guest. Por tanto, cualquier base de datos en la que se haya deshabilitado guest no será accesible para los roles de aplicación de otras bases de datos.
Conectarse con un rol de aplicación
Los siguientes pasos muestran el
proceso mediante el cual un rol de aplicación cambia de contexto de seguridad:
·
Un usuario
ejecuta una aplicación cliente.
·
La aplicación
cliente se conecta con una instancia de SQL Server como usuario.
·
Tras ello, la
aplicación ejecuta el procedimiento almacenado sp_setapprole con una
contraseña que solo conoce la aplicación.
·
Si el nombre y la
contraseña del rol de aplicación son válidos, el rol de aplicación se habilita.
·
En este momento,
la conexión pierde los permisos del usuario y asume los permisos del rol de
aplicación.
· Los permisos adquiridos durante el rol de aplicación se mantienen mientras dura la conexión.
CE5.2.6 Describir la configuración de la seguridad para los usuarios (políticas de contraseñas, duración cambio de contraseñas, reintentos de accesos):
La aplicación de la política de
contraseñas se puede configurar por separado para cada inicio de sesión de SQL
Server. Utilice ALTER LOGIN (Transact-SQL) para configurar las opciones de
política de contraseñas de un inicio de sesión de SQL Server. Las siguientes
reglas se aplican a la configuración de la aplicación de la política de
contraseñas:
1. Cuando CHECK_POLICY se cambia a ON, se producen los siguientes
comportamientos:
2. CHECK_EXPIRATION también se establece en ON a menos que se establezca
explícitamente en OFF.
3. El historial de contraseñas se inicializa con el valor del hash de
contraseña actual.
La duración del bloqueo de la cuenta, el umbral de bloqueo de la cuenta y el
restablecimiento del contador de bloqueo de la cuenta también están
habilitados.
Expiración de las contraseñas Las
directivas de expiración de contraseñas se utilizan para administrar la
duración de una contraseña. Cuando SQL Server aplica la
directiva de expiración de contraseñas, se recuerda a los usuarios que cambien
las contraseñas antiguas, y las cuentas con contraseñas que han expirado se
deshabilitan.
Comentarios
Publicar un comentario