You are on page 1of 38

SQL SERVER

Integrantes:
Lucas Del Rio
David Prez Ramrez
Gabriel Quiroz
Brenda Quispe

Base de Datos I

Introduccin
SQL Server es un sistema de gestin de bases de
datos relacionales (RDBMS) de Microsoft que est
diseado para el entorno empresarial. SQL Server
se ejecuta en T-SQL (Transact -SQL), un conjunto
de extensiones de programacin de Sybase y
Microsoft que aaden varias caractersticas a SQL
estndar, incluyendo control de transacciones,
excepcin y manejo de errores, procesamiento
fila, as como variables declaradas.

Caractersticas Particulares
Mejoras de programacin. El almacenamiento FILESTREAM
habilita a las aplicaciones de SQL Server para almacenar datos no
estructurados, tales como documentos e imgenes, en el sistema
de archivos.
Mejoras de seguridad . Nuevas funciones de cifrado. Tambin,
auditar. SQL Server Audit es una nueva caracterstica de SQL
Server 2008 que permite crear auditoras personalizadas de
eventos Database Engine
SQL Server comprueba si hay valores duplicados cuando se crea
el ndice (si ya existen datos) y realiza la comprobacin cada vez
que se agregan datos con una instruccin INSERT o UPDATE. Si
existen valores de clave duplicados, se cancela la instruccin
CREATE INDEX y se devuelve un mensaje de error con el primer
duplicado. Varios valores NULL se consideran como duplicados al
crear un ndice UNIQUE.

Tipos de datos propios de SQL


Server
SQL_VARIANT: Un tipo de datos que almacena valores de varios
tipos de datos en la misma columna, excepto: text, ntext,
timestamp y sql_variant. Por ejemplo, en la misma columna
puede almacenar valores nchar, valores int y valores decimal.
SMALLMONEY: Valores de moneda comprendidos entre
-214.748,3648 y +214.748,3647, con una precisin de una
diezmilsima de la unidad monetaria.
Uniqueidentifier: Almacena valores binarios de 16 bytes que
funcionan como identificadores exclusivos globales (GUID). Un
GUID es un nmero binario exclusivo; ningn otro equipo del
mundo generar un duplicado de ese GUID. El principal uso de un
GUID se da cuando se asigna un identificador que debe ser
exclusivo en una red que tiene muchos equipos en distintos
emplazamientos.

Tipos de datos espaciales


Los datos espaciales representan informacin sobre la ubicacin
fsica y la forma de objetos geomtricos. Estos objetos pueden ser
ubicaciones de punto u objetos ms complejos como pases, rutas o
lagos.
SQL Server admite dos tipos de datos espaciales: el tipo de datos
geometry y el tipo de datos geography.
El tipo geometry representa los datos en un sistema de
coordenadas euclidiano (plano).
El tipo geography representa los datos en un sistema de
coordenadas de tierra redonda.

Tipo de dato HierarchyID

Se utiliza para organizar los datos jerrquicos, como organigramas,


listas de materiales, y diagramas de flujo.
Permite buscar rpidamente los nodos dentro de una jerarqua, as
como mover los datos entre los nodos dentro de la estructura
Resulta de utilidad siempre que tenga que representar una relacin
anidada entre valores en los que dicha relacin se pueda expresar
en una sintaxis de ruta de acceso ordenada
Una ruta de acceso ordenada tiene el aspecto de una ruta de
acceso de archivo, pero en lugar de usar los nombres de directorio
y archivo, se usan valores numricos
Se usa un solo carcter (/) para representar textualmente el nodo
raz.

Asignacin de Memoria
SQL SERVER usa dos tipos de memoria; una llamada BUFFER
POOL que est restringida por el parmetro de max server
memory, y otra como proceso como tal que no est restringida y
que puede llegar a ocupar dependiendo de las diferentes cargas
de proceso entre 1 a 2 gb.
En SQL Server se pueden diferenciar dos grandes secciones de
memoria:
Memoria para paginas (Datos)
Memoria del proceso de SQL
Sobre la memoria de proceso de SQL no tenemos control ninguno
y SQL va a consumir la que crea necesaria

Memoria para paginas


Sobre la memoria de pginas tenemos ms flexibilidad, podemos controlar su tamao
mximo max server memory tamao mnimo min servermemory e incluso podemos
habilitar una opcin lock pages in memory que hace que las pginas de datos no puedan
ser eliminadas por otros procesos del sistema.
El ajuste predeterminado para la memoria del servidor min es 0, y el ajuste por el impago
de memoria mxima del servidor es 2147483647 MB. De forma predeterminada, SQL Server
puede cambiar sus requerimientos de memoria dinmica en funcin de los recursos
disponibles del sistema.
Para configurar max server memory ejecutaremos:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', <Valor deseado>;
GO
RECONFIGURE;
GO

Verificar informacin de usuarios


y logueos
Para verificar los usuarios usamos sp_who que proporciona informacin
acerca de los usuarios, sesiones y procesos actuales en una instancia de
Motor de base de datos.
La informacin se puede filtrar para obtener solo los procesos que estn
activos, que pertenecen a un usuario especfico o que pertenecen a una
sesin especfica.
sp_who [ [ @loginame = ] 'login' | session ID | 'ACTIVE' ]
login: es de tiposysnamee identifica los procesos que pertenecen a un
inicio de sesin determinado.
session ID:es un nmero de identificacin de sesin que pertenece a la
instancia de SQL Server.session IDes de tiposmallint.
ACTIVE:excluye las sesiones que estn esperando el siguiente comando
del usuario.
Si no se indica ningn valor, el procedimiento muestra todas las sesiones
que pertenecen a la instancia.

Permisos
Requiere el permiso VIEW SERVER STATE en el servidor para ver
todas las sesiones en ejecucin en la instancia de SQL Server
Para Mostrar la lista de todos los procesos actuales

Para mostrar un proceso especfico identificado mediante un Id.


de sesin

Distintas versiones de
SqlServer
Web
Estndar
Business Intelligence

Productos Windows Server

Enterprise

Express
Express w/ Advances Services
Express w/ Tools
Developer

PC Escritorio

Instalacin
1. Licencia y prueba de controles
2. Seleccion de caracteristicas
3. Nombre de la instancia
4. Cuentas de servicio del servidor
5. Configuracin de la DB
6. Configuracin de servicios

Caractersticas en la
instalacin
Caractersticas de Instancia:

Database Engine server


Analysis Services

[ OLAP ]

Reporting Services Native [ SSRS ]

Creacin de Base de Datos


A travs de sentencia SQL
Las bases de datos en SQL Server se crean mediante la sentencia
CREATE DATABASE.

Creacin de Base de Datos


A travs de sentencia SQL
database_name: Es el nombre de la nueva base de datos. Los
nombres de base de datos deben ser nicos en una instancia de
SQL Server. Puede tener 128 caracteres como mximo.
ON: Especifica que los archivos de disco utilizados para
almacenar las secciones de datos de la base de datos (archivos
de datos) se definen explcitamente.
<filespec> lista de elementos que definen los archivos de datos
del grupo de archivos principal.
<filegroup> lista opcional que define grupos de archivos de
usuario y sus archivos.

Creacin de Base de Datos


A travs de sentencia SQL
PRIMARY: Especifica que la lista de elementos <filespec>
asociada define el archivo principal.
Si no se especifica PRIMARY, el primer archivo enumerado en la
instruccin CREATE DATABASE se convierte en el archivo principal.
LOG ON: Especifica que los archivos de disco utilizados para
almacenar el registro de la base de datos (archivos de registro) se
definen explcitamente. Si no se especifica LOG ON, se crea
automticamente un archivo de registro cuyo tamao es el 25 por
ciento de la suma de los tamaos de todos los archivos de datos
de la base de datos, o 512 KB, lo que sea mayor. LOG ON no se
puede especificar en una instantnea de base de datos.

Creacin de Base de Datos


A travs de sentencia SQL

COLLATE collation_name: Especifica la


intercalacin predeterminada de la base de
datos. El nombre de la intercalacin puede ser
un nombre de intercalacin de Windows o un
nombre de intercalacin de SQL. Si no se
especifica, se asigna a la base de datos la
intercalacin predeterminada de la instancia de
SQL Server.
Se refiere a las reglas utilizadas para ordenar y
comparar caracteres. Evidentemente, se trata

Ejemplo de creacin de base de


datos

Creacin base de datos A travs del SGBD


1 - Nos posicionamos sobre la carpeta Base de datos de nuestro
servidor y seleccionamos Nueva base de datos.

Creacin base de datos A travs del SGBD


Una vez seleccionado nos
aparecer el siguiente cuadro que
contendr los valores por default al
crear una base de datos. Para
poder crearla por lo menos se
debe establecer algn nombre
para dicha base o su nombre debe
poseer menos de 128 caracteres.
De lo contrario, no nos permitir su
creacin. Si queremos crearla
directamente clickeamos aceptar o
bien , se pueden configurar otras
opciones que creamos necesarias

Establecer tamao y/o crecimiento


Asimismo , desde la ventana para
crear una nueva base de datos, o
cuando vayamos a modificarla
desde sus propiedades, podremos
configurar el tamao que vamos a
establecer para la BD. En
crecimiento automtico ,
seleccionamos
y podremos
acceder a la configuracin del
tamao de nuestra base de datos.
Ac estableceremos el tamao
mximo de nuestra BD o no y si
queremos establecer un
crecimiento automtico o nuestra

Archivos de la Base de
Datos

Los tipos de archivo ms comunes que soporta una base de


datos SQL Server son archivos de datos y archivos de registro
de transacciones.
Extensiones por defecto:
. Mdf: archivo principal:

punto de partida de la base de datos y apunta a los

otros archivos de la misma

. Ndf: archivo secundario:

todos los archivos de datos menos el archivo de

datos principal

. Ldf: archivo de registro de transacciones:

almacenan toda la
informacin de registro que se utiliza para recuperar la base de datos

Nota: Las extensiones por defecto utilizadas para archivos de


datos son slo sugerencias, aunque es conveniente no cambiar
estas extensiones ya que son un estndar para Bases de datos

Estimar el tamao
Realizar una estimacin del tamao que poseer la Base de
Datos nos ayudar para determinar la configuracin de hardware
que necesitaremos para:
Conseguir el rendimiento que necesitan las aplicaciones
Asegurar la cantidad fsica adecuada de espacio en disco
necesario para almacenar los datos y los ndices
Adems, puede ayudarnos a determinar si nuestra Base de
Datos necesita normalizarse, reducir su tamao, porque su
estimacin es mayor a la esperada, mejorar el rendimiento de
consultas, entre otras.

Configuracin

Las opciones son nicas para cada base de datos y no afectan


a otras bases de datos.

Cuando se crea una base de datos, estas opciones se


establecen en sus valores predeterminados

Estos valores tambin se pueden modificar mediante:

Solapa Opciones
Clusula SET de la instruccin ALTER DATABASE

Configuracin
A travs de la solapa Opciones:

Configuracin con
AlterDatabase
Algunas opciones de SQL:

Controlan las opciones de compatibilidad con ANSI


ANSI_NULL_DEFAULT: Determina el valor predeterminado, NULL o NOT NULL,
de una columna, tipo de datos del alias o tipo definido por el usuario CLR para
los que no se ha definido explcitamente la nulidad en las instrucciones
CREATE TABLE o ALTER TABLE.
Cuando se especifica ON, el valor predeterminado es NULL.
Cuando se especifica OFF, el valor predeterminado es NOT NULL.
Predeterminado: OFF
ANSI_WARNINGS: Cuando se especifica ON, se emiten mensajes de error o
advertencias cada vez que se generan condiciones como divisin entre cero o
cuando aparecen valores NULL en funciones de agregado.
Cuando se especifica OFF, no se emiten advertencias y se devuelven valores
NULL cada vez que se generan condiciones como divisin entre cero.
Predeterminado: OFF

Configuracin con
AlterDatabase
Opciones de Parametrizacin:

PARAMETERIZATION: Cuando se especifica SIMPLE, las


consultas se parametrizan en funcin del comportamiento
predeterminado de la base de datos.
Cuando se especifica FORCED, SQL Server parametriza
todas las consultas de la base de datos
Predeterminado: SIMPLE

Configuracin con
AlterDatabase
Opciones de Disponibilidad:
Controlan si la base de datos est en lnea o sin conexin, quin puede
conectarse a la base de datos y si la base de datos est o no en modo
de solo lectura.

READ_ONLY | READ_WRITE:
Cuando se especifica READ_ONLY, los usuarios pueden leer los
datos de la base de datos pero no pueden modificarlos.
Cuando se especifica READ_WRITE, la base de datos est
disponible para operaciones de lectura y escritura.
Predeterminado: READ_WRITE

Configuracin con
AlterDatabase
Opciones de Disponibilidad:
SINGLE_USER | RESTRICTED_USER | MULTI_USER:
Cuando se especifica SINGLE_USER, solo se puede conectar un usuario a la
base de datos en un momento dado. Todas las dems conexiones de usuario
se desconectan.
Cuando se especifica RESTRICTED_USER, solo pueden conectarse a la base de
datos los miembros del rol fijo de base de datos db_owner y los de los roles
fijos de servidor dbcreator y sysadmin, pero no se limita la cantidad de
miembros.
Cuando se especifica MULTI_USER, se permite el acceso de todos los usuarios
que cuenten con los permisos adecuados para conectarse a la base de datos.
Predeterminado: MULTI_USER

Configuracin con
AlterDatabase
Otras Opciones:

ANSI_NULLS

ANSI_PADDING

ARITHABORT

CONCAT_NULL_YIELDS_NULL

QUOTED_IDENTIFIER

NUMERIC_ROUNDABORT

RECURSIVE_TRIGGERS

OFFLINE | ONLINE | EMERGENCY

Tablas
Adems de la funcin estndar de las tablas bsicas definidas
por el usuario, SQL Server proporciona los siguientes tipos de
tabla que permiten llevar a cabo objetivos especiales en una
base de datos:

Tablas
Tablas
Tablas
Tablas

del sistema
con particiones
temporales
anchas

Tablas

Tablas del sistema:


SQL Server almacena los datos que definen la configuracin del
servidor y de todas sus tablas en un conjunto de tablas especial,
conocido como tablas del sistema. Los usuarios no pueden consultar
ni actualizar directamente las tablas del sistema si no es a travs de
una conexin de administrador dedicada

Tablas con particiones:


Tablas cuyos datos se han dividido horizontalmente entre unidades
que pueden repartirse por ms de un grupo de archivos de una base
de datos. Las particiones facilitan la administracin de las tablas y
los ndices grandes

Tablas

Tablas temporales
Locales:

son visibles slo para sus creadores durante la


misma conexin a una instancia de SQL Server. Se eliminan
cuando el usuario se desconecta de la instancia

Globales: estn visibles para cualquier usuario y conexin una vez


creadas, y se eliminan cuando todos los usuarios que hacen referencia
a la tabla se desconectan de la instancia de SQL Server

Tablas anchas
Usan las columnas dispersas para aumentar hasta 30.000 el nmero
total de columnas permitidas. Las columnas dispersas son columnas
normales que disponen de un almacenamiento optimizado para los

Almacenamiento Temporal
A disposicin de la base de datos del sistema tempdb
Esta base de datos contiene:
Objetos de usuario temporales creados explcitamente como: tablas
temporales locales o globales, procedimientos almacenados temporales,
variables de tabla o cursores.
Objetos internos creados por SQL Server Database Engine (Motor de base de
datos de SQL Server), por ejemplo, tablas de trabajo para almacenar
resultados intermedios para colas u ordenacin.
Versiones de fila generadas por las transacciones de modificacin de datos en
una base de datos que utiliza transacciones de lectura confirmada que usan
transacciones de aislamiento de control de versiones de filas o de aislamiento
de instantneas.
Versiones de fila que se generan mediante transacciones de modificacin de
datos para caractersticas como operaciones de ndice en lnea, conjuntos de
resultados activos mltiples (MARS) y desencadenadores AFTER.

Almacenamiento Temporal
Las tablas temporales locales y las variables se almacenan en cach
Cuando una tabla temporal o variable table se almacena en cach, el
objeto temporal no se elimina cuando alcanza su objetivo. En lugar
de eso, el objeto temporal se trunca. Hasta un mximo de nueve
pginas se almacenan y se reutilizan la siguiente vez que se ejecuta
el objeto de llamada
El almacenamiento en cach permite que las operaciones que quitan
y crean los objetos se ejecuten rpidamente y reduce la contencin
de asignacin de pgina
Con el fin de obtener un rendimiento ptimo, se debe calcular el
espacio en disco necesario para almacenar en cach las tablas
temporales locales o las variables table en tempdb

Comparacin SQL Server vs


MySQL
Ambos gestores de BD son populares en la misma plataforma.
MySQL es un gestor rpido y libre pero sacrificando muchas
caractersticas como el ser compatible con ACID ( Atomicidad, Consistencia, Aislamiento
y Durabilidad en espaol.).
MySQL no soporta completamente las claves externas, lo que significa en
una escala base de datos relacional se queda corto en comparacin con
SQL Server de Microsoft
Debido a que Microsoft SQL Server es ms complejo y rico en
caractersticas (una gran ventaja), el software sacrifica un poco de
espacio en disco, memoria y rendimiento.

Tabla de comparacin SQL Server vs


MySQL

Oracle vs SQL Server


Una de las diferencias bsicas entre Oracle y Sql server es su arquitectura de BBDD
Sql Server se organiza en instancias, las cuales se representan por un servicio de
Windows y que contienen diversas bases de datos. No es posible acceder a una
base de datos sin acceder primero a la instancia . (model, tempdb, master, msdb y
resource)
Con Oracle, la estructura es diferente. Oracle asigna un rea de memoria a su
instancia : el rea Global de Sistema (SGA), la cual se divide en una serie de
estructuras distintas Junto con el espacio de memoria, una serie de procesos PGA
se inician para interactuar con el SGA. En conjunto, el espacio de memoria y los
procesos constituyen una instancia de Oracle
A diferencia de SQL Server, una base de datos Oracle no es una agrupacin lgica
de objetos, sino un nico trmino genrico que engloba una serie de archivos
fsicos de datos

You might also like