Вы находитесь на странице: 1из 38

Ao de la Diversificacin Productiva y

del Fortalecimiento de la Educacin

TRABAJO FINAL
Implementacin de
Base de Datos
PROFESOR

Jorge Luis Del Mar Arzola

ESTUDIANTE

Juan Alejandro Rosales Coronel

SECCIN

X51B

Lima - Per

2015

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

NDICE DEL TRABAJO


FINAL
NDICE DEL TRABAJO................................................................................................... 2
FINAL.......................................................................................................................... 2
PARTE I: PARTE APLICATIVA....................................................................................... 4
1.

SELECCIN DE LA BASE DE DATOS...................................................................5

2.

DESCRIPCIN DE LA BASE DE DATOS................................................................5


2.1.

DESCRIPCIN FUNCIONAL DE LA DE DATOS (PARA QUE SE UTILIZA)..........6

2.2.

REGLAS DEL NEGOCIO APLICADO A LA BASE DE DATOS.............................6

3.

MDELO CONCEPTUAL Y LGICO....................................................................7


3.1.

MDELO CONCEPTUAL..............................................................................7

3.2.

MDELO LGICO....................................................................................... 7

4.

ANALISIS DEL MDELO CONCEPTUAL..............................................................7


4.1.

VENTAJAS................................................................................................... 7

4.2.

DESVENTAJAS............................................................................................. 7

5. CREACIN DE LA BASE DE DATOS Y TABLAS INDICADAS EN EL MODELO


CONCEPTUAL UTILIZANDO MS SQL SERVER 2012....................................................7
5.1.
6.

SCRIPT DE LA CREACIN DE LA BASE DE DATOS Y TABLAS........................7

CARGAR CON DATOS LAS TABLAS.....................................................................8

7. CREACIN DE CONSULTAS, STORED PROCEDURES, TRIGGER, COMNADOS DDL


Y COMANDOS DCL................................................................................................... 8
7.1.

SCRIPT DE LA CREACION DE CONSULTAS SQL SERVER...............................8

7.2.

SCRIPT DE LA CREACION DE STORED PROCEDURE....................................8

7.3.

SCRIPT DE LA CREACION DE TRIGGER.......................................................8

7.4.
SCRIPT DE LA CREACION DE COMNADOS DDL PARA REALIZAR CAMBIOS A
LAS TABLAS.......................................................................................................... 8
7.5.
SCRIPT DE LA CREACION DE COMANDOS DCL PARA OTORGAR
PRIVILEGIOS A LAS TABLAS................................................................................. 8
8.............................................................................................................................. 8
PARTE II: PARTE INVESTACIN.................................................................................10
1.

TABLAS E NDICES CON PARTICIONES SQL SERVER 2008 R2............................11


1.1.

DEFINICIN DE TABLA PARTICIONADA.....................................................11

1.2.

ARQUITECTURA DE LAS PARTICIONES.....................................................13

1.3.

PROCEDIMIENTO PARA CREAR UNA TABLA PARTICIONADA.....................13

REGLAS DE COLUMNAS DE PARTICIN........................................................14


2

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

CREATE PARTITION FUNCTION (Transact-SQL)..........................................................14


b)

Crear una funcin de particin RANGE RIGHT en una columna int.........................15

CREATE PARTITION SCHEME (Transact-SQL).............................................................18


a)

Crear un esquema de particin que asigne cada particin a un grupo de archivos diferente
18

b)

Crear un esquema de particin que asigne varias particiones al mismo grupo de archivos
19

c) Crear un esquema de particin que asigne todas las particiones al mismo grupo de
archivos............................................................................................................... 20
d)

Crear un esquema de particin que especifica un grupo de archivos NEXT USED........20

Para crear particiones en una tabla o un ndice en el momento de su creacin, debe especificar lo
siguiente en la instruccin CREATE TABLE o CREATE INDEX:........................................21
CREATE TABLE (Transact-SQL)...................................................................................22
Tablas con particiones............................................................................................. 26
CREATE INDEX (Transact-SQL)................................................................................... 28

Crear un ndice con particiones..........................................................................31

PARTE III: PARTE DE BUENAS PRCTICAS................................................................33

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

PARTE I: PARTE
APLICATIVA

1. SELECCIN DE LA BASE DE DATOS

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Se eligi para el trabajo La Base de Datos de la empresa M&M REPUESTOS Y


SERVICIOS S. A..

2. DESCRIPCIN DE LA BASE DE DATOS


La Base de datos seleccionada se encuentra en el Motor base de datos DB2.

2.1.

DESCRIPCIN FUNCIONAL DE LA DE DATOS (PARA QUE SE


UTILIZA)

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

La base de datos se utiliza para registrar las Transacciones de las diferentes areas de la
empresa:
-

Logstica
Comercializacin
Crditos y cobranzas
Finanzas
Contabilidad

2.2.
REGLAS DEL NEGOCIO APLICADO A LA BASE DE DATOS
-

Se debe de Guardar Auditoria de cada Transaccin realizada.


Los precios de los artculos no deben de ser menores a cero. Solo se aceptan datos

mayores o iguales a cero.


Toda Fecha Registrada y Hora Registrada siempre debe de ser vlida.
El Stock de cada artculo se calcula mediante la siguiente frmula:

Stock Inicial + Cantidad Ingresada Cantidad Salida Stock


Comprometido
-

Toda tabla de la base de datos est protegido por una lista de autorizaciones.
Toda persona que realiza una transaccin en la base de datos debe tener un perfil de
usuario y pertenecer a un grupo.

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

3. MDELO CONCEPTUAL Y LGICO


3.1.

MDELO CONCEPTUAL

3.2.

MDELO LGICO

4. ANALISIS DEL MDELO CONCEPTUAL


4.1.

VENTAJAS

4.2.

DESVENTAJAS

5. CREACIN DE LA BASE DE DATOS Y TABLAS INDICADAS EN EL MODELO


CONCEPTUAL UTILIZANDO MS SQL SERVER 2012
5.1.

SCRIPT DE LA CREACIN DE LA BASE DE DATOS Y TABLAS

6. CARGAR CON DATOS LAS TABLAS


7. CREACIN DE CONSULTAS, STORED PROCEDURES, TRIGGER, COMNADOS
DDL Y COMANDOS DCL.
7.1.

SCRIPT DE LA CREACION DE CONSULTAS SQL SERVER

7.2.

SCRIPT DE LA CREACION DE STORED PROCEDURE

7.3.

SCRIPT DE LA CREACION DE TRIGGER

7.4.

SCRIPT DE LA CREACION DE COMNADOS DDL PARA REALIZAR


CAMBIOS A LAS TABLAS

7.5.

SCRIPT DE LA CREACION DE COMANDOS DCL PARA OTORGAR


PRIVILEGIOS A LAS TABLAS

8.

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

PARTE II: PARTE


INVESTACIN

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

1. TABLAS E NDICES CON PARTICIONES SQL SERVER 2008 R2


1.1.

DEFINICIN DE TABLA PARTICIONADA


La particin facilita el uso de tablas e ndices grandes, ya que permite
administrar y tener acceso a subconjuntos de datos de forma rpida y eficaz, a la vez
que mantiene la integridad de la recopilacin de datos. Si se utilizan las particiones,
una operacin como la carga de datos desde un sistema OLTP a un sistema OLAP tarda
solo unos segundos, en lugar de los minutos y las horas que tardaba en versiones
anteriores de SQL Server. Las operaciones de mantenimiento que se realizan en los
subconjuntos de datos tambin se realizan de forma ms eficaz porque estas
operaciones solo afectan a los datos necesarios, en lugar de a toda la tabla.

Nota
Las tablas e ndices con particiones nicamente estn disponibles en las ediciones
Enterprise, Developer y Evaluation de SQL Server.
Los datos de tablas e ndices con particiones se dividen en unidades que pueden
propagarse por ms de un grupo de archivos de la base de datos. Los datos se dividen en
sentido horizontal, de forma que los grupos de filas se asignan a particiones
individuales.
La tabla o el ndice se tratarn como una sola entidad lgica cuando se realicen
consultas o actualizaciones en los datos. Las particiones de un ndice o una tabla
deben encontrarse en la misma base de datos.
Las tablas y los ndices con particiones admiten todas las propiedades y
caractersticas asociadas con el diseo y la consulta de tablas e ndices estndar,
incluidas las restricciones, los valores predeterminados, los valores de identidad y
marca de tiempo, as como los desencadenadores. Por tanto, si desea implementar una
vista con particiones local en un servidor, puede interesarle implementar en su lugar una
tabla con particiones.
10

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

La decisin acerca del uso de las particiones depende bsicamente del tamao
actual o futuro de la tabla, la forma en que se utiliza y el rendimiento que presenta en
las consultas de usuario y las operaciones de mantenimiento.
Por regla general, puede resultar adecuado crear particiones de una tabla grande si
se cumplen las dos condiciones siguientes:

La tabla contiene, o se espera que contenga, muchos datos que se utilizan de


formas diferentes.

Las consultas o las actualizaciones en la tabla no presentan el rendimiento que se


esperaba o los costos de mantenimiento superan los perodos de mantenimiento
predefinidos.
Por ejemplo, si los datos del mes actual se utilizan principalmente en operaciones
INSERT, UPDATE DELETE, y MERGE, mientras que los meses anteriores se
usaban en consultas SELECT, la administracin de la tabla sera ms fcil si se crearan
particiones por mes. La ventaja puede ser especialmente importante si las operaciones
de mantenimiento peridicas solo afectan a un subconjunto de los datos. Si la tabla no
dispone de particiones, estas operaciones pueden consumir muchos recursos en un
conjunto de datos completo. Con las particiones, las operaciones de mantenimiento
como las regeneraciones de ndice y las desfragmentaciones se pueden realizar en
los datos de solo escritura de un nico mes; por ejemplo, mientras que los datos de
solo lectura siguen disponibles para el acceso en lnea.
Para ampliar este ejemplo, supongamos que desea mover los datos de solo lectura
de un mes de esta tabla a una tabla de almacenamiento de datos para su anlisis. Con las
particiones, se pueden separar rpidamente los subconjuntos de datos en reas de
ensayo para el mantenimiento sin conexin y posteriormente agregarlos como
particiones a tablas con particiones existentes, siempre que dichas tablas se
encuentren en la misma instancia de base de datos.
La creacin de particiones en una tabla o un ndice puede mejorar el
rendimiento de las consultas si las particiones se disean correctamente, basndose
11

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

en los tipos de consultas que se ejecutan con ms frecuencia y en la configuracin del


hardware.
La creacin de particiones suele usarse junto con la replicacin de SQL
Server. El uso de particiones puede permitirle optimizar el rendimiento de la
replicacin transaccional y la replicacin de mezcla reduciendo de forma efectiva la
cantidad de datos y metadatos que el sistema de replicacin tiene que administrar. La
replicacin admite un mximo de 1024 particiones por cada tabla.

1.2.

ARQUITECTURA DE LAS PARTICIONES


En SQL Server, se considera que todas las tablas e ndices de una base de datos
disponen de particiones, incluso si se componen de una sola particin. Bsicamente, las
particiones conforman la unidad bsica de organizacin en la arquitectura fsica de
tablas e ndices. Esto significa que la arquitectura lgica y fsica de las tablas y los
ndices compuestos por varias particiones es igual a la de tablas e ndices con una nica
particin.

1.3.

PROCEDIMIENTO PARA CREAR UNA TABLA PARTICIONADA


A continuacin se enumeran los pasos necesarios para crear una tabla o ndice con

particiones:

1) Cree una funcin de particin para especificar cmo puede dividirse una tabla o
ndice que utilizar la funcin.
2) Cree un esquema de particiones para especificar la ubicacin de las particiones de
una funcin de particin en los grupos de archivos.
3) Cree una tabla o un ndice mediante el esquema de particiones.

1.3.1.

CREAR UNA FUNCIN DE PARTICIN

12

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Una funcin de particin especifica cmo se divide la tabla o el ndice. La


funcin asigna el dominio a un conjunto de particiones. Para crear una funcin de
particin debe especificar el nmero de particiones, la columna de particin y
el intervalo de valores de columnas de particin para cada particin. Tenga en
cuenta que al especificar la columna de particin solamente puede especificar
una columna.

REGLAS DE COLUMNAS DE PARTICIN

Las columnas calculadas que participan en una funcin de particin deben


marcarse explcitamente como PERSISTED.

Todos los tipos de datos vlidos para el uso en columnas de ndice pueden
utilizarse como una columna de particin con la excepcin de timestamp.

Los tipos de datos:


ntext, text, image, xml, varchar(max), nvarchar(max) o varbinary
(max) no se pueden especificar.

Las columnas de tipos de datos de alias y de tipo definido por el usuario


CLR (Common Language Runtime) .NET Framework de Microsoft no se
pueden especificar.

PARA CREAR UNA FUNCIN DE PARTICIN

13

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

CREATE PARTITION FUNCTION (Transact-SQL)

Crea una funcin en la base de datos actual que asigna las filas de una tabla o
un ndice a particiones segn los valores de una columna especificada. El uso de
CREATE PARTITION FUNCTION constituye el primer paso para la creacin
de una tabla o un ndice con particiones.

SINTAXIS:

EJEMPLOS:

a) Crear una funcin de particin RANGE LEFT en una columna int


La siguiente funcin de particin realizar cuatro particiones en una tabla
o un ndice.

14

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

En la siguiente tabla se muestra cmo se crearan particiones en una tabla que


utiliza esta funcin de particin en la columna de particin col1.

b) Crear una funcin de particin RANGE RIGHT en una columna int

La

siguiente

funcin

de

particin

utiliza

los

mismos

valores

para boundary_value [ ,...n ] que el ejemplo anterior, con la excepcin de que


especifica RANGE RIGHT.

15

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

En la siguiente tabla se muestra cmo se crearan particiones en una tabla


que utiliza esta funcin de particin en la columna de particin col1.

c) Crear una funcin de particin RANGE RIGHT en una columna


datetime

La siguiente funcin de particin divide una tabla o un ndice en 12


particiones, una para cada mes de un ao natural de valores en una columna
datetime.

16

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

En la siguiente tabla se muestra cmo se crearan particiones en una tabla o


ndice que utiliza esta funcin de particin en la columna de particin datecol.

d) Crear una funcin de particin en una columna char


La siguiente funcin de particin realiza cuatro particiones en una tabla o
un ndice.

En la siguiente tabla se muestra cmo se crearan particiones en una tabla


que utiliza esta funcin de particin en la columna de particin col1.

17

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

1.3.2. CREAR UN ESQUEMA DE PARTICIONES


Un esquema de particiones asigna las particiones creadas por una funcin
de particin a un conjunto de grupos de archivos que el usuario ha definido.
Al crear un esquema de particiones se definen los grupos de archivos en los
que se asignan las particiones de tabla basndose en los parmetros de la funcin
de particin. Debe especificar suficientes grupos de archivos para albergar todas
las particiones. Puede especificar que todas las particiones se asignen a un grupo
de archivos diferente, que algunas particiones se asignen a un solo grupo de
archivos o que todas las particiones se asignen a un nico grupo de archivos.
Tambin puede especificar grupos de archivos adicionales "no asignados" si
posteriormente desea agregar ms particiones. En este caso, SQL Server marca
uno de los grupos de archivos con la propiedad NEXT USED. Esto significa que
el grupo de archivos albergar la siguiente particin que se agregue.

Un esquema de particiones slo puede utilizar una funcin de particin. Sin


embargo, una funcin de particin puede participar en ms de un esquema de
particiones.

Para crear un esquema de particiones


CREATE PARTITION SCHEME (Transact-SQL)
Crea un esquema en la base de datos actual que asigna a grupos de archivos
las particiones de una tabla o ndice con particiones. El nmero y el dominio
de las particiones de una tabla o ndice con particiones se determinan en una
funcin de particin. Antes de crear un esquema de particin es necesario
18

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

crear una funcin de particin en una instruccin CREATE PARTITION


FUNCTION.
SINTAXIS:

EJEMPLOS:
a) Crear un esquema de particin que asigne cada particin a un grupo
de archivos diferente

En el ejemplo siguiente se crea una funcin de particin para


dividir una tabla o ndice en cuatro particiones. Despus, se crea un
esquema de particin que especifica los grupos de archivos que van a
contener cada una de las cuatro particiones. En este ejemplo se asume que
los grupos de archivos ya existen en la base de datos.

19

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Las particiones de una tabla que utiliza la funcin de


particin myRangePF1 en la columna de particin col1 se asignaran
como se muestra en la tabla siguiente.

b) Crear un esquema de particin que asigne varias particiones al mismo


grupo de archivos

Si todas las particiones se asignan al mismo grupo de archivos,


utilice la palabra clave ALL. Sin embargo, si se asignan varias particiones
(no todas) al mismo grupo de archivos, el nombre del grupo de archivos
debe repetirse, tal como se muestra en el ejemplo siguiente.

Las particiones de una tabla que utiliza la funcin de


particin myRangePF2 en la columna de particin col1 se asignaran
como se muestra en la tabla siguiente.

20

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

c) Crear un esquema de particin que asigne todas las particiones al


mismo grupo de archivos

En el ejemplo siguiente se crea la misma funcin de particin que


en los ejemplos anteriores y se crea un esquema de particin que asigna
todas las particiones al mismo grupo de archivos.

d) Crear un esquema de particin que especifica un grupo de archivos


NEXT USED

En el ejemplo siguiente se crea la misma funcin de particin que


en los ejemplos anteriores y se crea un esquema de particin que especifica
un nmero de grupos de archivos superior al nmero de particiones
creadas por la funcin de particin asociada.

21

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Al ejecutar la instruccin se devuelve el mensaje siguiente.


Partition scheme 'myRangePS4' has been created successfully.
'test5fg' is marked as the next used filegroup in partition
scheme 'myRangePS4'.

Si la funcin de particin myRangePF4 se cambia para agregar una


particin, el grupo de archivos test5fg recibe la particin que acaba de
crearse.
1.3.3. CREAR UNA TABLA O UN NDICE CON PARTICIONES
Para crear particiones en una tabla o un ndice en el momento de su creacin,
debe especificar lo siguiente en la instruccin CREATE TABLE o CREATE
INDEX:
El esquema de particiones que la tabla utilizar para asignar las
particiones a los grupos de archivos.
La columna en la que se crear la particin en la tabla (la columna de
particin). La columna de particin debe coincidir con la especificada en
la funcin de particin que el esquema de particiones est utilizando en
trminos de tipo de datos, longitud y precisin. Si se calcula la columna,
debe especificarse como PERSISTED.

22

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Para crear una tabla que utiliza un esquema de particiones

CREATE TABLE (Transact-SQL)

SINTAXIS:

23

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

24

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

25

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

ARGUMENTOS:

partition_scheme_name
Es el nombre del esquema de particin que define los grupos de archivos a
los que se van a asignar las particiones de una tabla con particiones. El
esquema de particin debe existir en la base de datos.
[ partition_column_name. ]
Especifica la columna en la que se van a crear las particiones de la tabla
con particiones. La columna debe coincidir con la que se especifica en la
funcin de particin quepartition_scheme_name utiliza en trminos de tipo de
datos, longitud y precisin. Una columna calculada que participa en una
funcin de particin se debe marcar como PERSISTED de forma explcita.

Importante
Se recomienda especificar NOT NULL en la columna de particin de las
tablas con particiones y tambin de las tablas sin particiones que sean orgenes
o destinos de operaciones ALTER TABLE...SWITCH. De esta forma se
garantiza que las restricciones CHECK en columnas de particin no tengan
que comprobar si hay valores NULL.

ON

PARTITIONS ( {

<expresin_de_nmero_de_particiones>

<intervalo> } [ ,...n ] )
Especifica

las

particiones

las

que

se

aplica

el

valor

DATA_COMPRESSION. Si la tabla no tiene particiones, el argumento ON


PARTITIONS generar un error. Si no se proporciona la clusula ON

26

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

PARTITIONS, la opcin DATA_COMPRESSION se aplicar a todas las


particiones de una tabla con particiones.
<partition_number_expression> se puede especificar de las maneras
siguientes:

Proporcione el nmero de una particin, por ejemplo: ON PARTITIONS

(2).
Proporcione los nmeros de particin de varias particiones separados por

comas, por ejemplo: ON PARTITIONS (1, 5).


Proporcione intervalos y particiones individuales, por ejemplo: ON
PARTITIONS (2, 4, 6 TO 8).
<range> se puede especificar como nmeros de particin separados por la

palabra TO, por ejemplo: ON PARTITIONS (6 TO 8).


Para establecer tipos de compresin de datos diferentes para particiones
distintas, especifique la opcin DATA_COMPRESSION ms de una vez, por
ejemplo:

COMENTARIOS:

Tablas con particiones

Antes de crear una tabla con particiones mediante CREATE TABLE,


debe crear una funcin de particin para especificar cmo se van a crear las
27

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

particiones en la tabla. Para crear una funcin de particin se usa CREATE


PARTITION FUNCTION. A continuacin, debe crear un esquema de
particin para especificar los grupos de archivos que van a contener las
particiones indicadas mediante la funcin de particin. Para crear un esquema
de particin se usa CREATE PARTITION SCHEME. La colocacin de
restricciones PRIMARY KEY o UNIQUE para separar grupos de archivos
no se puede especificar para las tablas con particiones.
EJEMPLO:

Crear una tabla con particiones

En el siguiente ejemplo se crea una funcin de particin para crear


cuatro particiones en una tabla o en un ndice. A continuacin, se crea un
esquema de particin en el que se especifican los grupos de archivos que
van a contener cada una de las cuatro particiones. Finalmente, en el
ejemplo se crea una tabla que utiliza el esquema de particin. En este
ejemplo se supone que los grupos de archivos ya existen en la base de
datos.

28

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

En funcin de los valores de la columna col1 de PartitionTable,


las particiones se asignan de los siguientes modos.

Para crear un ndice que utiliza un esquema de particiones

CREATE INDEX (Transact-SQL)

Crea un ndice relacional en una tabla especificada o una vista de una


tabla especificada. Se puede crear un ndice antes de que la tabla posea datos.
29

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Los ndices relacionales se pueden crear en tablas o vistas de otra base de


datos especificando un nombre completo de base de dato

SINTAXIS:

30

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

ARGUMENTOS:

31

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

ON partition_scheme_name(column_name)

Especifica el esquema de particin que define los grupos de archivos a los


que se asignarn las particiones de un ndice con particiones. El esquema de
particin debe existir en la base de datos al ejecutar CREATE PARTITION
SCHEME o ALTER PARTITION SCHEME. column_name especifica la
columna en la que se crearn particiones del ndice con particiones. Esta
columna debe coincidir con el tipo de datos, la longitud y la precisin del
argumento

de

la

funcin

de

particin

que

utiliza partition_scheme_name.column_name no se restringe a las columnas


en la definicin de ndice. Se pueden especificar todas las columnas de la tabla
base, excepto en el caso de particin de un ndice UNIQUE en el que se debe
elegir un valor para column_name entre las columnas utilizadas como clave
nica. Esta restriccin permite que Motor de base de datos compruebe la
unicidad de los valores de clave en una nica particin solamente.

Nota

Cuando se crean particiones en un ndice clster no nico, Motor de base de


datos agrega de forma predeterminada la columna de particin a la lista de
claves del ndice clster, en caso de que an no se hubiera especificado.
Cuando se crean particiones en un ndice no clster que tampoco es nico,
Motor de base de datos agrega la columna de particin como una columna sin
clave (incluida) del ndice, si an no se especific.

Si no se especific partition_scheme_name o filegroup y se han creado


particiones en la tabla, el ndice se sita en el mismo esquema de particin y
se utiliza la misma columna de particin para la tabla subyacente.

32

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

Nota

No se puede especificar un esquema de particin en un ndice XML. Si se


crean particiones en la tabla base, el ndice XML utiliza el mismo esquema de
particin que utiliza la tabla. Para obtener informacin acerca de cmo crear
un ndice XML.

ON filegroup_name

Crea el ndice especificado en el grupo de archivos especificado. Si no se


ha especificado una ubicacin y la tabla o vista no tiene particiones, el ndice
utiliza el mismo grupo de archivos que la tabla o vista subyacente. El grupo
de archivos debe existir previamente.
EJEMPLO:

Crear un ndice con particiones

El ejemplo siguiente crea un ndice no agrupado con particiones


en TransactionsPS1, un esquema de particin existente. En este ejemplo
se supone que se ha instalado el ejemplo de ndice con particiones.

33

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

2. SQL AZURE VS. SQL SERVER

2.1.

INSTRUCCIONES Y LIMITACIONES GENERALES DE BASE DE


DATOS SQL DE AZURE
CONECTIVIDAD

La autenticacin de Windows no es compatible.

La Base de datos SQL de Microsoft Azure admite el cliente de protocolo de


secuencia de datos tabular (TDS) en la versin 7.3 o posterior.

Se permiten nicamente las conexiones TCP/IP.

El explorador de SQL Server 2008 no se admite porque la Base de datos SQL de


Microsoft Azure no tiene puertos dinmicos, solo el puerto 1433.
34

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

TRABAJOS/AGENTE SQL SERVER

Base de datos SQL de Microsoft Azure no admite trabajos o Agente SQL Server.
Sin embargo, puede ejecutar el Agente SQL Server en su SQL Server local y
conectarse a la Base de datos SQL de Microsoft Azure.

TRANSACCIONES

La Base de datos SQL de Azure no admite transacciones distribuidas, que son


transacciones que afectan a varios recursos. Base de datos SQL puede no conservar
los valores de marca de tiempo no confirmados de la base de datos actual (DBTS)
entre las conmutaciones por error.

NOTA:
En algunas situaciones, una transaccin se puede promover automticamente a
una transaccin distribuida.
COMPATIBILIDAD CON LA INTERCALACIN DE SQL SERVER

La intercalacin de bases de datos predeterminada que utiliza Base de datos SQL


de

Microsoft

Azure

es SQL_LATIN1_GENERAL_CP1_CI_AS,

dondeLATIN1_GENERAL es ingls (Estados Unidos), CP1 es la pgina de


cdigos 1252, CI indica que no se distingue maysculas de minsculas
y AS especifica que se distinguen los acentos. Es posible modificar la intercalacin
de bases de datos de V12 mediante Transact-SQL.

35

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

REQUISITOS DE NOMENCLATURA

Algunos nombres de usuario no se permiten por razones de seguridad. No puede


usar los siguientes nombres:

admin

administrator

guest

root

sa

Los nombres de todos los objetos nuevos deben cumplir las reglas de SQL Server
para los identificadores.

Adems, los nombres de inicio de sesin y el usuario no pueden contener el


carcter \ (no se admite la autenticacin de Windows).

2.2.

GH

36

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

37

Implementacin de Base de Datos

Ingeniera de

Sistemas EPE

PARTE III: PARTE


DE BUENAS
PRCTICAS

1. CONJUNTO DE BUENAS PRCTICAS EN LA IMPLEMETACIN DE BASE DE


DATOS
2. COMO APLICAR LAS BUENAS PRACTICAS DE IMPLETACIN DE BASE DE
DATOS EN UNA EMPRESA

38