Está en la página 1de 6

Dep.

dInformtica

STUCOM Centre dEstudis www.stuco m.co m


Homologat i concertat per la Generalitat de Catalunya

ASI 2

ABBDD- Creacin BBDD


Alberto Milin

UF 2: Installaci i ajustament de SGBD corporatiu: 1. Implanta sistemes gestors de bases de dades corporatius analitzant les seves caracterstiques i ajustant-se als requeriments del sistema.

ATENCIN!!ESTOS APUNTES SON UNA CONTINUACIN DE LOS APUNTES DE LA ASIGNATURA GBBDD, POR LO QUE SE DAN POR ASUMIDOS LOS CONOCIMIENTOS PREVIOS. CREACIN DE BBDD Primary files .MDF solamente uno Transactions LOG .LDF registro de transacciones. Secundary files .NDF optativos. Tareas del administrador. MDF y LDF es recomendable que esten en discos separados(no pariciones) con ello ganamos mayor velocidad y rendimiento. .NDF utilidades o Se me llena un disco y continuo en uno nuevo(viejo .MDF, nuevo .LDF) o Dos tablas, muchos joins entre ellas, meto una de ellas en un disco con .MDF y la otra en otro disco con .LDF.

Autocrecimiento en CREATE DATABASE Si vamos a necesitar 10GB, reservo los 10GB, porque si reservo 2GB y le doy autocrecimiento la BBDD se fragmenta y pierde mucho rendimiento. Tabla tempdb Se utiliza para operaciones temporales Cuando hacemos un join de dos tablas, crea un objeto que sera una sola tabla, este objeto lo crea en tempdb. Debe estar en el disco ms rpido En la instalacin la ponemos en C y luego la movemos.

Filesgroups Concepto lgico Agrupa los archivos de datos lgicamente. Por defecto todo va al Primary Filegroup Un fichero es miembro de un solo filegroup

Al tener ms de un Filegroup proveemos del mayor aislamiento posible I/O. Los datos en las tablas de Sistema de nuestra base de Datos no cambian tan frecuentemente como las tablas de usuario y al minimizar la escritura en el Filegroup Primary reducimos el riesgo de introducir daos a los archivos que lo conforman, es necesario mencionar que el estado del Filegroup Primary determina el estado de la Base de Datos, al tener ms de Filegroup incrementamos la disponibilidad de nuestra base de datos porque estaremos minimizando los cambios hechos al Filegroup Primary. Permite facilitar tareas de administracin como los backups y los restores, puedo restaurar solo el filegroup o archivo que desee. Los datos se escriben de forma equitativa en los distintos archivos del grupo.

EJEMPLO Creacin de la BBDD


CREATE DATABASE Ventas ON PRIMARY ( NAME = Ventas1_dat, FILENAME = 'c:\discoC\Ventas1_dat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), FILEGROUP GrupoVentasData ( NAME = Ventas3_dat, FILENAME = 'c:\discoC\Ventas3_dat.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = Ventas4_dat, FILENAME = 'c:\discoC\Ventas4_dat.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), FILEGROUP GrupoVentasIndices ( NAME = Ventas_ind, FILENAME = 'C:\discoD\Ventas1_ind.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = Ventas2_ind, FILENAME = 'c:\discoD\Ventas2_ind.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Ventas_log', FILENAME = 'c:\discoE\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO Finalmente un tercer filegroup para almacenar indices Crearemos la base "Ventas" y ubicaremos 1 archivo de datos en el Filegroup "Primary" que es el default, en el almacenaremos solo las tablas de sistema, cuando creamos un diagrama de tablas se crea una tabla de sistema

Luego crearemos un segundo filegroup en el que ubicaremos 2 archivos mas de datos para almacenar tablas de usuario

Analizar en disco que nos ha puesto cada cosa en su sitio! PONER UN OBJETO DENTRO DE UN FILEGROUP
create table clientes (idcliente int primary key, nombre varchar(20),

direccion varchar(20)) on GrupoVentasData

create index pepe on clientes(nombre)on GrupoVentasIndices Mirar los objetos en el servidor para ver si los ha puesto cada uno en su sitio

Intercalacin (Collation)
Patrn de bits utilizado para representar/almacenar cada carcter. Asocia un valor nico a cada letra dependiendo del idioma seleccionado, en collation europeo una posicin puede estar asiciada a la mientras que en colation asitico puede estar asociado a caracteres chinos. Slo afecta a los campos de tipo texto. Siempre que se cree una BBDD se crear con la intercalacin de la Instancia a no ser que se especifique lo contrario. Crear BBDD con la Intercalacin que deseemos CREATE DATABASE [Clientes-ES] ON (NAME = N'DB_Spanish_Data', FILENAME = N'C:\MSSQL\data\Clientes-ES.MDF', SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'DB_Spanish_Log', FILENAME = N'C:\MSSQL\data\Clientes-ES.LDF', SIZE = 1, FILEGROWTH = 10%) COLLATE Modern_Spanish_CI_AI GO

Conocer las distintas collations. (ver las collations )


select * from ::fn_helpcollations()

Creacin de una tabla con campos con diferentes collations (recomendable especificar collations por campos). Si no lo especificas, adquieren la collation por defecto
create table profes (dni_profe varchar(20) not null primary key, apellido varchar(15) COLLATE Norwegian_100_CS_AS_WS, DIRECCION VARCHAR(15) COLLATE Traditional_Spanish_100_CS_AI)

Cambiar collations a una BBDD

Alter database cole COLLATE Traditional_Spanish_100_CS_AI


Problema comn, hacer un join de dos tablas con distinta collation obtendremos un error Solucin cambiar la intercalacin en la salida del select

SELECT * FROM actores a, intervienen i WHERE a.idactor=i.idactor


COLLATE Traditional_Spanish_100_CS_AI

También podría gustarte