Sei sulla pagina 1di 29

Alberto Milin

Introduccin Planificacin

Schemas

Consideraciones en la creacin de BBDD

de BBDD

Polticas

de Administracin

Qu es una Base de Datos? Qu es un SGBD? Qu es el modelo relacional? SQL Tunning de BBDD

Es un sistema de archivos electrnico. Es una coleccin de informacin organizada de forma que un programa de ordenador pueda acceder rpidamente a los fragmentos de datos que necesite. Una base de datos representa aspectos del mundo real. Con la palabra datos se hace referencia a hechos conocidos que pueden registrarse, como telfonos, direcciones, nombres. El objetivo de una BBDD es almacenar la informacin para poder accederla, manipularla y mostrarla de diversas formas.

DBMS ( DataBase Manegement System) SW especfico que se dedica a hacer de interfaz entre la BBDD, el usuario y las aplicaciones que lo utilizan.

Modelo ms utilizado en la realidad. Idea fundamental Relaciones (de datos) Cada relacin es una tabla compuesta por registros y columnas.

Lenguaje de Consulta Estructurado/Estandard Edgar Frank Codd


Matemtico, qumico y doctor en computacin Investigador de IBM Propone bases modelo relacional. IBM SEQUEL(Structured English QUEry Language) system R(SGBD experimental, 1977). SQL es una evolucin del SEQUEL

Herramienta que maneja el lgebra y el clculo relacional. Objetivo Lanzar consultas con el fin de recuperar de forma sencilla- informacin de inters de una base de datos. Lenguaje de programacin embebido.

Ajustar los parmetros de una BBDD con el objetivo de:


Reducir el tiempo de espera de los usuarios. Incrementar la productividad. Generar polticas de administracin con el fin de personalizar la Base de Datos.

File Type Primary Files

Extension .mdf

Description The primary data file contains the startup information for the database and pointers to other files Secondary files can be used to spread user data across multiple disks by putting each file on a different disk drive Log files hold all the information that is used to recover the database

Secondary Files

.ndf

Transaction logs

.ldf

Data modification is sent by application

Buffer Cache

Modification is recorded in transaction log on disk

Data pages are located in, or read into, the buffer cache and then modified

Checkpoint writes committed transactions to database

Consideraciones sobre la ubicacin de archivos


File Type Consideration
Si tenemos tablas que son usadas frecuentemente

Primary and secondary files tempdb Transaction Logs

juntas, debemos ponerlas en diferentes filegroups y discos fsicos


Poner tempdb database en un disco rpido para

asegurarte un buen funcionamiento.


Crear el transaction log en un disco separado.

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

AdventureWorks Database
sys... sys.filegroups sys.objects sys.indexes ... Sales.SalesOrder Sales.Customer Production.Product Ord.HistYear2 Ord.HistYear1

C:\
AdventureWorks_ Data.mdf

D:\
OrdHist1.ndf OrdHist2.ndf

E:\
AdventureWorks_ Log.ldf

s.

Primary Filegroup

OrderHistoryGroup

Filegroups permiten mayor aislamiento de I/O al servidor SQL. Mediante filegroups minimizamos la escritura en el filegroup primario.
Reducimos riesgo de daos a los archivos que lo conforman. Descargamos de trabajo al servidor, porque las tablas de sistema no cambian tan frecuentemente como las tablas de usuario.

Permiten facilitar tareas de Backups y restores. Podemos restaurar: BBDD, filegroup o fichero.

Dnde se almacena tempdb? Se puede mover? Por qu me puede interesar mover un archivo de filegroup?
Reubicacin
Problemas de HW Aadir HD por lleno HD anterior

Puedo aadir filegroup con BBDD en produccin?


filegroup

ALTER DATABASE database ADD FILEGROUP

Databases expand according to growth parameters Manually expand a database by allocating additional space

Use the MAXSIZE parameter to specify maximum size


The log transaction file can be truncated

If a database exhausts the space, Error 1105 is raised

CREATE DATABASE Ventas

ON PRIMARY ( NAME = Ventas1_dat, FILENAME = C:\Ventas1_dat.mdf', SIZE = 40, MAXSIZE = 50, FILEGROWTH = 15% ), FILEGROUP GrupoVentasData ( NAME = Ventas3_dat, FILENAME = D:\Ventas3_dat.ndf', SIZE = 50, MAXSIZE = 50), ( NAME = Ventas4_dat, FILENAME = D:\Ventas4_dat.ndf', SIZE = 40, MAXSIZE = 50, FILEGROWTH = 5 ),

FILEGROUP GrupoVentasIndices ( NAME = Ventas_ind, FILENAME = E:\Ventas1_ind.ndf', SIZE = 50, MAXSIZE = 50), ( NAME = Ventas2_ind, FILENAME = E:\Ventas2_ind.ndf', SIZE = 40, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Ventas_log', FILENAME = F:\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

create table clientes (idcliente int primary key, nombre varchar(20), direccion varchar(20)) on GrupoVentasData create index pepe on clientes(nombre) on GrupoVentasIndices
OJO! PODRIAMOS GUARDARLOS EN UN ARCHIVO Y SI NO ESPECIFICO, DONDE LO GUARDA?

Coleccin de objetos de la base de datos que son propiedad de un usuario (o un rol). Dentro de un schema no puede haber objetos duplicados. Todos los objetos de una base de datos forman parte de un esquema. Nombre objeto: Instancia.BBDD.schema.objeto

Agrupar objetos para funciones comunes


20 tablas del departamento de finanzas, pongo las 20 tablas en un esquema y doy permiso al esquema.

OJO! Cuando utilizamos la orden add_user, sql-server crea automticamente un esquema con el nombre de ese usuario.

Namespaces for database objects


Person Contact
(Server1.AdventureWorks2008.Person.Contact)

Sales Customer
(Server1.AdventureWorks2008.Sales.Customer)

dbo ErrorLog
(Server1.AdventureWorks2008.dbo.ErrorLog)

AdventureWorks2008

USE VENTAS

CREATE SCHEMA PROMOCIONES


CREATE TABLE clientes_preferentes( [idcliente] [int] NOT NULL, [nombre] [varchar](20) , [direccion] [varchar](20) ) ON GrupoVentasData CREATE TABLE promociones.productos_dto (idproduct int primary key, discount decimal, description varchar(100)) on GrupoVentasData

use [Ventas]

GRANT SELECT ON SCHEMA::PROMOCIONES TO albert GRANT DELETE, INSERT, SELECT ON SCHEMA::PROMOCIONES TO encarna

Fijaros cmo doy permiso a Albert para hacer selects en todas las tablas de promociones y cmo doy permiso a Encar para hacer SELECTS, INSERTS, DELETES a todas las tablas del esquema PROMOCIONES. Hasta podramos crear una funcin (role) y dar permisos al role en vez de a los usuarios individualmente.

Nueva caracterstica de SQL-Server 2008 Permiten controlar y garantizar nuestras buenas prcticas de trabajo. Definir de una serie de polticas claras y concisas, reduciendo la carga de trabajo de los administradores y los errores potenciales de administracin.

POLITICA:
Los procedimientos almacenados han de empezar todos por AW.

PASO 1
Servidor/Administracin/Administracion de directivas/facetas

PASO 2
Administracin/Directivas

Fin?

ojo!Versin sql-server express MySql Distribuidas?

Potrebbero piacerti anche