SQL Server 2008 Bootcamp Día 2. SQL 2008 HierarchyID



Documentos relacionados
Capítulo 12: Indexación y asociación

SQL Server 2008 Bootcamp Día 2 SQL 2008 FILESTREAM

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web.

Ampliación de Estructuras de Datos

SIIGO Pyme. Templates. Cartilla I

Operación Microsoft Access 97

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Guía del usuario. Guía del usuario - Wordpress

Guía de inicio rápido

Guía de instalación de la carpeta Datos de IslaWin

Campos de tareas. Costo real (campo de tareas) Duración real (campo de tareas) Fin real (campo de tareas)

Árboles. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Módulo Presupuesto SP 3.0

Toda base de datos relacional se basa en dos objetos

1. Que es un nombre de dominio? Es un conjunto de caracteres alfanuméricos utilizados para identificar una computadora determinada en Internet.

Entidad Formadora: Plan Local De Formación Convocatoria 2010

GUÍA DE USUARIO DEL CORREO

Consultas con combinaciones

Definiciones. Tema 21_Módulos Menú 1

Delphin Express Profesional Manual de instrucciones. Como importar Presupuestos Hechos en S10

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

Acronis License Server. Guía del usuario

SMS Gestión. manual de uso

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

Gestión de ficheros. Manual de generación de ficheros de pagos y cobros

Tema IX Mi PC. 9.1 Qué hay en su PC?

Microsoft Excel. El Documento Excel. Interfase de Programa. Celdas

ACCESO Y MANEJO DEL PANEL DE CONTROL

MIGRACIÓN NEXUS 8 A A3ERP 9

Introducción a los sitios de SharePoint en Office 365

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Manual Utilización. Gemelo Backup Online WEB I N D I C E. Cómo ingresar a la cuenta. Funcionalidades Gemelo Backup Online WEB > Control de la Cuenta

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

árbol como un conjunto de nodos y líneas

Introducción a la Firma Electrónica en MIDAS

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

v2.2 Guía del Estudiante Registro e Inicio de Sesión

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

15 CORREO WEB CORREO WEB

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

MANUAL WEBSOPORTE DE IRIS-EKAMAT

Autenticación Centralizada

Guía de inicio rápido

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

Creación y administración de grupos de dominio

Tablas y Campos Nuevos

MANUAL COPIAS DE SEGURIDAD

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 1: Gestión de listas de datos y tablas dinámicas. Leire Aldaz, Begoña Eguía y Leire Urcola

Manual de OpenOffice Impress

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Manual de instalación de Kaspersky Internet Security

Matemática de redes Representación binaria de datos Bits y bytes

Programa de Ayuda HERES

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Arquitectura de sistema de alta disponibilidad

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Acceder al Correo Electronico - Webmail

SIEWEB. La intranet corporativa de SIE

Familia de Windows Server 2003

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

CASO PRÁCTICO Nº OBJETIVO 2. TEMAS A DESARROLLAR

Charla N 6: Utilidades de Consulta de datos.

DESCARGA DE CARPETAS DE MENSAJES DE CORREO DESDE EL WEBMAIL A PC S LOCALES

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre.

BASES DE DATOS TEMA 1

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

ARREGLOS DEFINICION GENERAL DE ARREGLO

Generación de ficheros PC-Axis desde Oracle mediante SAS

Manual de usuario del Centro de Control

Microsoft Office. Project 2010 Curso Básico Unidad 4

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

10776 Developing Microsoft SQL Server 2012 Databases

Análisis de la competencia Retrospect y nuestra competencia

Manual Oficina Web de Clubes (FBM)

Cuentas por Cobrar Capítulo 1 CUENTAS POR COBRAR Y FACTURACIÓN DacEasy Contabilidad

Usando Recupera Tu Vida! con Outlook 2010 Guía de Configuración del Usuario

TELECOMUNICACIONES Y REDES

Universidad Nacional de Costa Rica Administración de Bases de Datos

GENERALES GENERALES TIPO DE PREGUNTAS RESPUESTA

SERVICIO CREA TU WEB TELEFÓNICA NET. (Manual de usuario)

Comisión Nacional de Bancos y Seguros

Manual Ingreso Notas y Acta Electrónica

Métodos de direccionamiento IP

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

PROCEDIMIENTOS DE TÍTULOS. Para solicitar los títulos al finalizar determinadas enseñanzas es preciso seguir un proceso en la aplicación Plumier XXI.

ESCUELA DE ADMINISTRACIÓN

Delimitar tareas en Project 2010

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

MANUAL DE USO CS-BODAS (VERSIÓN 11/2013)

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Indicaciones específicas para los análisis estadísticos.

QUERCUS PRESUPUESTOS MANUAL DEL USO

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

Transcripción:

SQL Server 2008 Bootcamp Día 2 SQL 2008 HierarchyID

Información sobre versiones beta Toda la información y ejemplos respectivos, son relativos a la beta pública CTP5 de SQL Server 2008 Comandos y funcionalidades pueden diferir de la versión RTM final 2

Agenda HiearchyId HiearchyId Escenarios Propiedades clave Indexación Métodos Actualizando a SQL 2008 3

Escenarios Foros, e hilos en listas de correo Gráficos de organización de negocio Categorías de gestión de contenidos (CMS) Categorías de productos Gestión de Archivos/Carpetas Una estructura organizacional Un conjunto de tareas de un proyecto Un grafo de enlaces entre páginas web 4

Propiedades clave Codifica lógicamente información sobre un nodo singular en un árbol jerárquico, codificando la ruta desde la raíz del árbol, al nodo Como una secuencia de etiquetas de nodo de un hijo visitado después del padre Una introducción comienza la representación La raíz se representa por una introducción única Cuatro niveles por debajo de la raíz, cada etiqueta se codifica como una secuencia de enteros separados por puntos 5

DEMO 1 Vistazo al uso de HID 6

Propiedades clave La comparación entre hijos se realiza comparando la secuencia de enteros separados por comas en un orden de diccionario. Cada nivel es seguido de una barra Una barra separa padres de hijos Los nodos se pueden insertar en cualquier lugar Los nodos insertados después de /1/2/ pero antes de /1/3/ se pueden representar como /1/2.5/. Los nodos insertados antes de 0 tienen la representación lógica de un número negativo 7

Propiedades clave Hace fácil el guardar datos y preguntar por datos jerárquicos Optimizado para representar árboles, que son la forma mas común de datos jerárquicos Extremadamente compacto / /1 /2 /3 /1/1 /1/2 /3/1 /3/2 /1/1/1 /1/1/1/1 8

Propiedades clave El número medio de bits necesarios para representar un nodo en un árbol con n nodos, depende del fanout medio Fanout: La media de número de hijos de un nodo Para pocos fanouts (0-7) el tamaño está sobre 6*log A n bits Donde A es el fanout medio 9

Propiedades clave Un nodo en una jerarquía organizacional de 100k elementos con un fanout medio de 6 niveles ocupa sobre 38 bits 6 * log 6 100000 = 38.55 Los 38 bits son redondeados a 5 bytes (40 bits) para el almacenamiento 10

Propiedades clave Un tipo de datos del sistema con un tamaño variable CLR UDT Microsoft.SqlServer.Types Disponible a los clientes como tipo SqlHierarchyId Codificación Varbinary (892 bytes max) Para representar la posición jerárquica No representa una jerarquía por si mismo Codifica lógicamente la información sobre un nodo singular en un árbol jerárquico, codificando la ruta desde la raíz al nodo 11

Propiedades clave Métodos ricos de manipulación jerárquica nativa (built-in) Simplifica el almacenamiento y recuperación de datos jerárquicos La comparación es en Depth first a<b significa que a viene antes de b en un recorrido en profundidad Soporte para inserciones y borrados arbitrarios Usando métodos del tipo de datos 12

Indexado Dos estrategias para indexado jerárquico de los datos Profundidad (Depth First) Anchura (Breadth First) No hay palabras especiales para crear índices Depth First o Breath first basan las columnas en la forma en que creaste el índice Por defecto: Depth First Si pones una columna que contiene un nivel de nodo como la primera columna: Breath First 13

Indexado Depth First Las filas en el subárbol se guardan cerca unas de otras Todos los empleados que reportan al jefe, se guardan cerca del nodo de su jefe 14

Indexado Breadth First Las filas de cada nivel de jerarquía se guardan cerca unas de otras Los datos de empleados que directamente reportan al mismo jefe se guardan cerca unos de otros 15

Indexado Escenario de tipo de índice: Depth-first: los índices son eficientes para responder consultas sobre sub-árboles, como busca todos los archivos en este directorio y sus subdirectorios Breadth-first: Los índices son eficientes para responder consultas sobre hijos inmediatos, del estilo encuentra todos los empleados que reportan directamente a este jefe 16

DEMO 2 Índices 17

Notas Es tarea de la aplicación, manejar la concurrencia en la generación y asignación de valores jerárquicos No se garantiza que los valores hierarchyid en una columna sean únicos Utiliza la restricción UNIQUE para ello Una columna de tipo hierarchyid no representa automáticamente un árbol Es tarea de la aplicación generar y asignar valores hiearchyid de la forma en la que las filas tengan que relacionarse 18

Notas Las relaciones jerárquicas representados por valores hierarchyid no están reforzadas por claves ajenas Es posible tener una relación jerárquica donde A tiene un hijo B y que se borre A dejando B con una relación inexistente Si este comportamiento no es aceptable, la aplicación ha de consultar por los hijos antes de borrar los padres 19

Notas La conversión de hiearchyid a XML no está soportada El método ToString() convierte el valor hiearchyid en su representación lógica como un tipo de datos varchar(4000) Utiliza los métodos Read() y Write() para convertir hierarchyid a varbinary. Solo internamente 20

Métodos GetAncestor GetDescendant GetLevel GetRoot IsDescendant Parse Read Reparent ToString Write 21

Métodos La invocación es CASE SENSITIVE! GetRoot es static o shared Devuelve la raíz de la jerarquía Utilizando los métodos del tipo de datos, se puede actualizar los datos hiearchyid de varias formas Ej.: Usando el método GetDescendant, siempre será posible generar un hermano a la derecha de cualquier nodo, a la izquierda de cualquier nodo, o entre cualquiera de dos hermanos 22

DEMO 3 Métodos 23

Actualizando a SQL 2008 Cuando una BBDD se actualiza a SQL Server 2008, se instalan automáticamente el nuevo ensamblado, y el tipo de datos hierarchyid Las reglas de Upgrade advisor detectan tipos de datos o ensamblados que tenga conflicto de nombres Upgrade advisor advierte del re-nombramiento de cualquier ensamblado conflictivo y permite renombrarlo o utilizar una nomenclatura de dos partes para referirse al tipo de datos pre-existente 24

Actualizando a SQL 2008 Si una actualización de BBDD detecta un ensamblado conflictivo, se renombra automáticamente y se pone la BBDD en estado suspect Si un tipo de usuario con conflicto existe durante la actualización, no se sigue ningún paso especial Después de la actualización, ambos dos existirán. El tipo de datos de usuario pre-existente, solo estará presente a través de una nomenclatura en dos partes 25

Alternativas Vistazo Padre/hijo XML hierarchyid es por lo general superior a estas alternativas 26

Alternativas Padre/hijo Padre/hijo Consultas a sub-árboles son significativamente mas rápidas con hierarchyid Consultas directamente descendentes son levemente mas lentas con hierarchyid. Inserción y movimiento de nodos son considerablemente mas lentas con hierarchyid. 27

Alternativas XML Es mas óptimo utilizar XML cuando estas reglas se cumplen: La jerarquía completa siempre se guarda y se consulta Los datos se consumen en formato XML por la aplicación Los predicados de las consultas son extremadamente limitados y no son críticos en rendimiento En SQL Server, cuando se crea un índice XML, los valores hiearchyid se utiliza de forma interna para representar la posición jerárquica 28

DEMO 4 Demo completa 29

Preguntas y respuestas

SQL Server 2008 Links Site de SQL Server 2008 http://www.microsoft.com/sql/2008/ Ejemplos de SQL Server 2008 http://www.codeplex.com/sqlserversamples 31