Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Mantener las relaciones entre las entidades (tablas) de una base de datos.
• Asegurar que la información sea almacenada correctamente y que no se violen las reglas
que definen las relaciones (integridad referencial).
• Recuperar todos los datos hasta cierto punto de consistencia, en el caso de que haya un fallo
en el sistema.
Típicamente, los clientes acceden a la base de datos comunicándose a través de una red.
Se pueden tener base de datos de más de un terabyte de tamaño en SQL Server, así también
pueden existir servidores para pequeños negocios y para ordenadores portátiles.
Por otro lado, SQL Server es usado para desarrollar procesos transaccionales, también para
almacenar y analizar información y para construir aplicaciones modernas en un entorno distribuido.
SQL Server da la posibilidad de que un gran número de usuarios realicen transacciones y que
simultáneamente cambien la información en tiempo real. Por ejemplo, este tipo de casos se da en
entornos como las transacciones que hace una aerolínea al vender billetes de avión, o las
transacciones que hace cualquier entidad bancaria.
Una transacción genera un proceso atómico (que debe ser validado con un commit, o invalidado
con un rollback), y que puede involucrar operaciones de inserción, modificación y borrado de datos.
Los datos se estructuran según el nivel aplicación (programa de gestión a medida, ERP o
CRM implantado, sistema de información departamental...).
Esta tecnología organiza y resume gran cantidad de información de manera tal que un analista
pueda evaluar dicha información rápidamente y en tiempo real.
El servicio de análisis de SQL Server organiza esta información para dar soporte a una amplia gama
de soluciones empresariales, desde reportes y análisis corporativos hasta el soporte para el
modelado de la información y la toma de decisiones.
Los sistemas OLAP son bases de datos orientadas al procesamiento analítico. Este análisis suele
implicar, generalmente, la lectura de grandes cantidades de datos para llegar a extraer algún tipo de
información útil: tendencias de ventas, patrones de comportamiento de los consumidores,
elaboración de informes complejos… etc.
El acceso a los datos suele ser de sólo lectura. La acción más común es la consulta, con
muy pocas inserciones, actualizaciones o eliminaciones.
Los datos se estructuran según las áreas de negocio, y los formatos de los datos están
integrados de manera uniforme en toda la organización.
Las bases de datos OLAP se suelen alimentar de información procedente de los sistemas
operacionales existentes, mediante un proceso de extracción, transformación y carga
(ETL).
Acceder al servidor
Podemos acceder al servidor con diversas herramientas cliente, entre ellas SQL Server Management
Studio o con el símbolo del sistema, ejemplo, comprobar versión instalada:
Niveles de seguridad
Un usuario atraviesa dos fases de seguridad al trabajar en SQL Server: la autenticación
(identificación del usuario) y autorización (aprobación de los permisos).
La fase de la autenticación identifica al usuario que está usando una cuenta de inicio de sesión y
verifica sólo su capacidad para conectarse.
El usuario necesita entonces permisos o autorización para acceder a las bases de datos en el
servidor, lo que se obtiene concediendo acceso a una cuenta en cada base de datos.
Modos de Autenticación en SQL Server
SQL Server valida a los usuarios en dos niveles de seguridad: una a través de un Inicio de sesión que
establece el hecho de realizar la conexión a SQL Server y otro a partir de la validación de los
permisos que tienen los usuarios sobre una base de datos.
Inicio de Sesión
Todos los usuarios deben tener un Inicio de sesión para poder conectarse a SQL Server, para esto
SQL Server reconoce 2 mecanismos de autenticación:
• SQL Server es cuando el usuario debe proveer un nombre de usuario y una contraseña que
serán validados por el propio SQL Server cuando el cliente intente conectarse.
• Autenticación Windows es cuando una cuenta o grupo de Windows controla el acceso a SQL
Server, el cliente no provee usuario y contraseña, ya que se empleará la cuenta con la que
arrancó el sistema operativo.
Por defecto la seguridad a nivel de Windows es la opción predeterminada después de la
instalación de SQL Server, es decir que solo los usuarios de Windows con los respectivos
permisos podrán conectarse al servidor de base de datos.
SQL Server brinda un conjunto de roles por servidor y por base de datos, también es posible
crear roles personalizados.
• Los usuarios representan a los usuarios que tienen acceso a la base de datos y están
asignados a un Inicio de sesión, aunque pueden tener diferente identificador, por ejemplo,
el Inicio de sesión puede tener como nombre MariaRuiz pero al definir un Usuario podemos
usar Maria.
Después de crear los Inicios de sesión para conectarse a SQL Server, se deben definir los accesos a
las bases de datos requeridas, para ello es necesario definir Usuarios en cada BD, estos usuarios
permitirán controlar el acceso a los distintos objetos incluyendo los datos que estos contienen.
Secuencia de validación:
1. Cuando el usuario ejecuta una acción, tal como una sentencia Transact-SQL o elige la opción
de un menú, el cliente envía las sentencias Transact-SQL al SQL Server.
2. Cuando SQL Server recibe una sentencia Transact-SQL, éste verifica los permisos que tiene el
usuario para ejecutar la sentencia.
3. Finalmente SQL Server realiza una de las dos siguientes acciones: permiso o error
SQL Server Management Studio
Es el entorno de desarrollo principal para SQL Server. Los administradores, desarrolladores y demás
usuarios lo pueden usar para crear soluciones de bases de datos conteniendo todos los scripts
asociados con una base de datos en particular.
Se puede usar esta herramienta para crear aplicaciones de base de datos gráficamente, o para crear,
ejecutar y guardar scripts.
En realidad, es todo un entorno integrado con todas las herramientas de gestión, administración y
programación de base de datos.
Entorno:
Panel consulta
Explorador de objetos
Muestra los diferentes nodos del Servidor Actual
Ejemplo:
1. Adjuntar la DB Northwind
2. comprobar las dependencias del objeto -> tabla Product
3. Realiza alguna consulta simple para comprobar los datos
USE NorthWind
SELECT * FROM Products
SQL Server contiene bases de datos del sistema y bases de datos de usuario.
Las bases de datos del sistema, almacenan información que permite operar y administrar el sistema,
mientras que las de usuario almacenan los datos requeridos por las operaciones del cliente.
Usando la información obtenida sobre los requerimientos de diseño, y los detalles identificados en
el diseño lógico de la base de datos, se puede crear los objetos de la base de datos y definir sus
características.
Se pueden modificar estas características después que de crear los objetos de la base de datos.
Al crear una base de datos, hay que definir su nombre, su tamaño (por defecto tendrá el mismo
tamaño que model), y los archivos y grupos de archivos usados para soportarla.
Por defecto solo tienen permiso para crear bases de datos los miembros de los roles
“sysadmin” y “dbcreator”, se podría no tener asignados ninguno de dichos roles pero aún
contar con la autorización para crear bases de datos en caso que el administrador se los
hubiera otorgado.
También tiene que tener permiso para modificar la base master ya que se cambiarán sus
tablas sysdatabases y sys.master_files para guardar información de la nueva base de datos.
El usuario que crea una base de datos se convierte en el dueño de la base de datos.
Se pueden crear un máximo de 32.767 bases de datos en un servidor.
El nombre de la base de datos debe seguir las reglas de los identificadores.
• archivos primarios ( .mdf), que contienen la información de arranque para la base de datos.
• archivos secundarios (.ndf), que guardan todos los datos que no caben en el archivo
primario
• registro de transacciones (.ldf), que contienen la información de la transacciones, usadas
para recuperar la base de datos. Almacenan automáticamente todos los cambios en la base
de datos antes de que se produzcan, si se produce un error, el sistema recuperará la base al
estado anterior.
Toda base de datos tiene al menos dos archivos: un archivo primario y un registro de
transacciones.
Cuando se crea una base de datos, hay que especificar el tamaño máximo del archivo. Esto
previene que el archivo crezca, cuando se meten datos, hasta llenar el disco.
Consideraciones de tamaño:
- Para crear la base de datos se utiliza la base del sistema “model”, por tanto, el tamaño
mínimo será el de esta base de datos (5MB).
- Si marcamos crecimiento automático debemos especificar un tamaño máximo para evitar
llenar el disco.
- Especificar crecimientos grandes para evitar el crecimiento frecuente del archivo y reducir la
actividad del servidor y la fragmentación del disco.
1. SQL Server usa una copia de la base de datos “Model” para inicializar la nueva base de datos
y sus metadatos.
2. SQL Server luego llena el resto de la base de datos con páginas vacías (excepto aquellas
páginas que tienen grabados datos internos como el espacio usado)
Cualquier objeto definido por el usuario en la base de datos “model” es copiado a todas las bases de
datos que sean creadas. Se pueden agregar objetos a la base de datos “model”, tales como tablas,
vistas, procedimientos almacenados, tipos de datos, etc. que serán incluidos en las nuevas bases de
datos.
Además, cada nueva base de datos hereda la configuración de las opciones de la base de datos
“model”.
Comando CREATE DATABASE
USE master
GO
CREATE DATABASE Ventas
ON PRIMARY
( NAME = 'Ventas',
FILENAME = 'C:\BasesSQL\Ventas.mdf' ,
SIZE = 7MB ,
MAXSIZE = 20MB,
FILEGROWTH =1024KB )
LOG ON
( NAME = 'Ventas_log',
FILENAME ='C:\BasesSQL\Ventas_log.ldf' ,
SIZE = 5MB,
MAXSIZE = 15MB,
FILEGROWTH = 10%)
GO
Consultar datos de la DB