“Año de la Diversificación Productiva y

del Fortalecimiento de la Educación”

TRABAJO FINAL
Implementación de
Base de Datos
PROFESOR

:

Jorge Luis Del Mar Arzola

ESTUDIANTE

:

Juan Alejandro Rosales Coronel

SECCIÓN

:

X51B

Lima - Perú

2015

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

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

SELECCIÓN DE LA BASE DE DATOS...................................................................5

2.

DESCRIPCIÓN DE LA BASE DE DATOS................................................................5
2.1.

DESCRIPCIÓN FUNCIONAL DE LA DE DATOS (PARA QUE SE UTILIZA)..........6

2.2.

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

3.

MÓDELO CONCEPTUAL Y LÓGICO....................................................................7
3.1.

MÓDELO CONCEPTUAL..............................................................................7

3.2.

MÓDELO LÓGICO....................................................................................... 7

4.

ANALISIS DEL MÓDELO CONCEPTUAL..............................................................7
4.1.

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

4.2.

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

5. CREACIÓN DE LA BASE DE DATOS Y TABLAS INDICADAS EN EL MODELO
CONCEPTUAL UTILIZANDO MS SQL SERVER 2012....................................................7
5.1.
6.

SCRIPT DE LA CREACIÓN DE LA BASE DE DATOS Y TABLAS........................7

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

7. CREACIÓN 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 INVESTACIÓN.................................................................................10
1.

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

DEFINICIÓN DE TABLA PARTICIONADA.....................................................11

1.2.

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

1.3.

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

REGLAS DE COLUMNAS DE PARTICIÓN........................................................14
2

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

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

Crear una función de partición RANGE RIGHT en una columna int.........................15

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

Crear un esquema de partición que asigne cada partición a un grupo de archivos diferente
18

b)

Crear un esquema de partición que asigne varias particiones al mismo grupo de archivos
19

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

Crear un esquema de partición que especifica un grupo de archivos NEXT USED........20

Para crear particiones en una tabla o un índice en el momento de su creación, debe especificar lo
siguiente en la instrucción 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 PRÁCTICAS................................................................33

3

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

PARTE I: PARTE
APLICATIVA

1. SELECCIÓN DE LA BASE DE DATOS

4

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

Se eligió para el trabajo La Base de Datos de la empresa “M&M REPUESTOS Y
SERVICIOS S. A.”.

2. DESCRIPCIÓN DE LA BASE DE DATOS
La Base de datos seleccionada se encuentra en el Motor base de datos DB2.

2.1.

DESCRIPCIÓN FUNCIONAL DE LA DE DATOS (PARA QUE SE
UTILIZA)

5

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

La base de datos se utiliza para registrar las Transacciones de las diferentes aéreas de la
empresa:
-

Logística
Comercialización
Créditos y cobranzas
Finanzas
Contabilidad

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

Se debe de Guardar Auditoria de cada Transacción realizada.
Los precios de los artículos 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 válida.
El Stock de cada artículo se calcula mediante la siguiente fórmula:

-

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 transacción en la base de datos debe tener un perfil de
usuario y pertenecer a un grupo.

6

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

3. MÓDELO CONCEPTUAL Y LÓGICO
3.1.

MÓDELO CONCEPTUAL

3.2.

MÓDELO LÓGICO

4. ANALISIS DEL MÓDELO CONCEPTUAL
4.1.

VENTAJAS

4.2.

DESVENTAJAS

5. CREACIÓN DE LA BASE DE DATOS Y TABLAS INDICADAS EN EL MODELO
CONCEPTUAL UTILIZANDO MS SQL SERVER 2012
5.1.

SCRIPT DE LA CREACIÓN DE LA BASE DE DATOS Y TABLAS

6. CARGAR CON DATOS LAS TABLAS
7. CREACIÓN 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.

7

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

8

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

PARTE II: PARTE
INVESTACIÓN

9

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

1. TABLAS E ÍNDICES CON PARTICIONES SQL SERVER 2008 R2
1.1.

DEFINICIÓN DE TABLA PARTICIONADA
La partición facilita el uso de tablas e índices grandes, ya que permite
administrar y tener acceso a subconjuntos de datos de forma rápida y eficaz, a la vez
que mantiene la integridad de la recopilación de datos. Si se utilizan las particiones,
una operación 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 también se realizan de forma más 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 están 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 más 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 tratarán como una sola entidad lógica 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
características asociadas con el diseño y la consulta de tablas e índices estándar,
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

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

La decisión acerca del uso de las particiones depende básicamente del tamaño
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 períodos 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 administración de la tabla sería más fácil si se crearan
particiones por mes. La ventaja puede ser especialmente importante si las operaciones
de mantenimiento periódicas 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 línea.
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 análisis. Con las
particiones, se pueden separar rápidamente los subconjuntos de datos en áreas de
ensayo para el mantenimiento sin conexión 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 creación de particiones en una tabla o un índice puede mejorar el
rendimiento de las consultas si las particiones se diseñan correctamente, basándose
11

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

en los tipos de consultas que se ejecutan con más frecuencia y en la configuración del
hardware.
La creación de particiones suele usarse junto con la replicación de SQL
Server. El uso de particiones puede permitirle optimizar el rendimiento de la
replicación transaccional y la replicación de mezcla reduciendo de forma efectiva la
cantidad de datos y metadatos que el sistema de replicación tiene que administrar. La
replicación admite un máximo 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 partición. Básicamente, las
particiones conforman la unidad básica de organización en la arquitectura física de
tablas e índices. Esto significa que la arquitectura lógica y física de las tablas y los
índices compuestos por varias particiones es igual a la de tablas e índices con una única
partición.

1.3.

PROCEDIMIENTO PARA CREAR UNA TABLA PARTICIONADA
A continuación se enumeran los pasos necesarios para crear una tabla o índice con

particiones:

1) Cree una función de partición para especificar cómo puede dividirse una tabla o
índice que utilizará la función.
2) Cree un esquema de particiones para especificar la ubicación de las particiones de
una función de partición en los grupos de archivos.
3) Cree una tabla o un índice mediante el esquema de particiones.

1.3.1.

CREAR UNA FUNCIÓN DE PARTICIÓN

12

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

Una función de partición especifica cómo se divide la tabla o el índice. La
función asigna el dominio a un conjunto de particiones. Para crear una función de
partición debe especificar el número de particiones, la columna de partición y
el intervalo de valores de columnas de partición para cada partición. Tenga en
cuenta que al especificar la columna de partición solamente puede especificar
una columna.

 REGLAS DE COLUMNAS DE PARTICIÓN

 Las columnas calculadas que participan en una función de partición deben
marcarse explícitamente como PERSISTED.

 Todos los tipos de datos válidos para el uso en columnas de índice pueden
utilizarse como una columna de partición con la excepción 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 FUNCIÓN DE PARTICIÓN

13

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

CREATE PARTITION FUNCTION (Transact-SQL)

Crea una función en la base de datos actual que asigna las filas de una tabla o
un índice a particiones según los valores de una columna especificada. El uso de
CREATE PARTITION FUNCTION constituye el primer paso para la creación
de una tabla o un índice con particiones.

SINTAXIS:

EJEMPLOS:

a) Crear una función de partición RANGE LEFT en una columna int
La siguiente función de partición realizará cuatro particiones en una tabla
o un índice.

14

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

En la siguiente tabla se muestra cómo se crearían particiones en una tabla que
utiliza esta función de partición en la columna de partición col1.

b) Crear una función de partición RANGE RIGHT en una columna int

La

siguiente

función

de

partición

utiliza

los

mismos

valores

para boundary_value [ ,...n ] que el ejemplo anterior, con la excepción de que
especifica RANGE RIGHT.

15

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

En la siguiente tabla se muestra cómo se crearían particiones en una tabla
que utiliza esta función de partición en la columna de partición col1.

c) Crear una función de partición RANGE RIGHT en una columna
datetime

La siguiente función de partición divide una tabla o un índice en 12
particiones, una para cada mes de un año natural de valores en una columna
datetime.

16

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

En la siguiente tabla se muestra cómo se crearían particiones en una tabla o
índice que utiliza esta función de partición en la columna de partición datecol.

d) Crear una función de partición en una columna char
La siguiente función de partición realiza cuatro particiones en una tabla o
un índice.

En la siguiente tabla se muestra cómo se crearían particiones en una tabla
que utiliza esta función de partición en la columna de partición col1.

17

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

1.3.2. CREAR UN ESQUEMA DE PARTICIONES
Un esquema de particiones asigna las particiones creadas por una función
de partición 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 basándose en los parámetros de la función
de partición. 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.
También puede especificar grupos de archivos adicionales "no asignados" si
posteriormente desea agregar más 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 partición que se agregue.

Un esquema de particiones sólo puede utilizar una función de partición. Sin
embargo, una función de partición puede participar en más 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 número y el dominio
de las particiones de una tabla o índice con particiones se determinan en una
función de partición. Antes de crear un esquema de partición es necesario
18

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

crear una función de partición en una instrucción CREATE PARTITION
FUNCTION.
SINTAXIS:

EJEMPLOS:
a) Crear un esquema de partición que asigne cada partición a un grupo
de archivos diferente

En el ejemplo siguiente se crea una función de partición para
dividir una tabla o índice en cuatro particiones. Después, se crea un
esquema de partición 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

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

Las particiones de una tabla que utiliza la función de
partición myRangePF1 en la columna de partición col1 se asignarían
como se muestra en la tabla siguiente.

b) Crear un esquema de partición 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 función de
partición myRangePF2 en la columna de partición col1 se asignarían
como se muestra en la tabla siguiente.

20

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

c) Crear un esquema de partición que asigne todas las particiones al
mismo grupo de archivos

En el ejemplo siguiente se crea la misma función de partición que
en los ejemplos anteriores y se crea un esquema de partición que asigna
todas las particiones al mismo grupo de archivos.

d) Crear un esquema de partición que especifica un grupo de archivos
NEXT USED

En el ejemplo siguiente se crea la misma función de partición que
en los ejemplos anteriores y se crea un esquema de partición que especifica
un número de grupos de archivos superior al número de particiones
creadas por la función de partición asociada.

21

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

Al ejecutar la instrucción 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 función de partición myRangePF4 se cambia para agregar una
partición, el grupo de archivos test5fg recibe la partición 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 creación,
debe especificar lo siguiente en la instrucción 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 partición en la tabla (la columna de
partición). La columna de partición debe coincidir con la especificada en
la función de partición que el esquema de particiones está utilizando en
términos de tipo de datos, longitud y precisión. Si se calcula la columna,
debe especificarse como PERSISTED.

22

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

 Para crear una tabla que utiliza un esquema de particiones

CREATE TABLE (Transact-SQL)

SINTAXIS:

23

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

24

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

25

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

ARGUMENTOS:

 partition_scheme_name
Es el nombre del esquema de partición que define los grupos de archivos a
los que se van a asignar las particiones de una tabla con particiones. El
esquema de partición 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
función de partición quepartition_scheme_name utiliza en términos de tipo de
datos, longitud y precisión. Una columna calculada que participa en una
función de partición se debe marcar como PERSISTED de forma explícita.

Importante
Se recomienda especificar NOT NULL en la columna de partición de las
tablas con particiones y también de las tablas sin particiones que sean orígenes
o destinos de operaciones ALTER TABLE...SWITCH. De esta forma se
garantiza que las restricciones CHECK en columnas de partición no tengan
que comprobar si hay valores NULL.

 ON

PARTITIONS ( {

<expresión_de_número_de_particiones>

|

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

las

particiones

a

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 cláusula ON

26

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

PARTITIONS, la opción 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 número de una partición, por ejemplo: ON PARTITIONS

(2).
Proporcione los números de partición 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 números de partición separados por la

palabra TO, por ejemplo: ON PARTITIONS (6 TO 8).
Para establecer tipos de compresión de datos diferentes para particiones
distintas, especifique la opción DATA_COMPRESSION más de una vez, por
ejemplo:

COMENTARIOS:

Tablas con particiones

Antes de crear una tabla con particiones mediante CREATE TABLE,
debe crear una función de partición para especificar cómo se van a crear las
27

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

particiones en la tabla. Para crear una función de partición se usa CREATE
PARTITION FUNCTION. A continuación, debe crear un esquema de
partición para especificar los grupos de archivos que van a contener las
particiones indicadas mediante la función de partición. Para crear un esquema
de partición se usa CREATE PARTITION SCHEME. La colocación 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 función de partición para crear
cuatro particiones en una tabla o en un índice. A continuación, se crea un
esquema de partición 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 partición. En este
ejemplo se supone que los grupos de archivos ya existen en la base de
datos.

28

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

En función 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

Implementación de Base de Datos

Ingeniería 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

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

ARGUMENTOS:

31

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

 ON partition_scheme_name(column_name)

Especifica el esquema de partición que define los grupos de archivos a los
que se asignarán las particiones de un índice con particiones. El esquema de
partición 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 crearán particiones del índice con particiones. Esta
columna debe coincidir con el tipo de datos, la longitud y la precisión del
argumento

de

la

función

de

partición

que

utiliza partition_scheme_name.column_name no se restringe a las columnas
en la definición de índice. Se pueden especificar todas las columnas de la tabla
base, excepto en el caso de partición de un índice UNIQUE en el que se debe
elegir un valor para column_name entre las columnas utilizadas como clave
única. Esta restricción permite que Motor de base de datos compruebe la
unicidad de los valores de clave en una única partición solamente.

Nota

Cuando se crean particiones en un índice clúster no único, Motor de base de
datos agrega de forma predeterminada la columna de partición a la lista de
claves del índice clúster, en caso de que aún no se hubiera especificado.
Cuando se crean particiones en un índice no clúster que tampoco es único,
Motor de base de datos agrega la columna de partición como una columna sin
clave (incluida) del índice, si aún no se especificó.

Si no se especificó partition_scheme_name o filegroup y se han creado
particiones en la tabla, el índice se sitúa en el mismo esquema de partición y
se utiliza la misma columna de partición para la tabla subyacente.

32

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

Nota

No se puede especificar un esquema de partición en un índice XML. Si se
crean particiones en la tabla base, el índice XML utiliza el mismo esquema de
partición que utiliza la tabla. Para obtener información acerca de cómo crear
un índice XML.

ON filegroup_name

Crea el índice especificado en el grupo de archivos especificado. Si no se
ha especificado una ubicación 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 partición existente. En este ejemplo
se supone que se ha instalado el ejemplo de índice con particiones.

33

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

2. SQL AZURE VS. SQL SERVER

2.1.

INSTRUCCIONES Y LIMITACIONES GENERALES DE BASE DE
DATOS SQL DE AZURE
 CONECTIVIDAD

La autenticación 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 versión 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 dinámicos, solo el puerto 1433.
34

Implementación de Base de Datos

Ingeniería 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 transacción se puede promover automáticamente a
una transacción distribuida.
 COMPATIBILIDAD CON LA INTERCALACIÓN DE SQL SERVER

La intercalación de bases de datos predeterminada que utiliza Base de datos SQL
de

Microsoft

Azure

es SQL_LATIN1_GENERAL_CP1_CI_AS,

dondeLATIN1_GENERAL es inglés (Estados Unidos), CP1 es la página de
códigos 1252, CI indica que no se distingue mayúsculas de minúsculas
y AS especifica que se distinguen los acentos. Es posible modificar la intercalación
de bases de datos de V12 mediante Transact-SQL.

35

Implementación de Base de Datos

Ingeniería 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.

Además, los nombres de inicio de sesión y el usuario no pueden contener el
carácter \ (no se admite la autenticación de Windows).

 F

2.2.

GH

36

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

37

Implementación de Base de Datos

Ingeniería de

Sistemas – EPE

PARTE III: PARTE
DE BUENAS
PRÁCTICAS

1. CONJUNTO DE BUENAS PRÁCTICAS EN LA IMPLEMETACIÓN DE BASE DE
DATOS
2. COMO APLICAR LAS BUENAS PRACTICAS DE IMPLETACIÓN DE BASE DE
DATOS EN UNA EMPRESA

38