Sunteți pe pagina 1din 13

SQL DDL DATA DEFINITION LANGUAGE Permite la creacin de estructuras de datos. Permite la integridad de los datos.

. DML DATA MANIPULATION LANGUAGE Permite recuperar datos Permite la manipuacion de datos DCL DATA CONTROL LANGUAGE Permite el Control de Accesos Permite Compartir datos VENTAJAS DE SQL Es independiente de los fabricantes. Es portable a cualquier tipo de plataforma. El lenguaje sql esta estandarizado. Esta basado en el modelo relacional. Es un lenguaje de alto nivel Consultas interactivas ad-hoc(es decir una consulta creada especficamente para un problema o fin preciso) Se puede utilizar en varios lenguajes de programacin. Ejm: .Net Se puede realizar mltiples vistas de los datos Definicion dinamica de datos Su arquitectura es de cliente / servidor

Administracin de Bases de Dato Mirroring de Bases de Datos Microsoft SQL Server 2005 ampla las posibilidades de duplicacin de logs (log shipping) proporcionando a los administradores de BBDD la opcin de mirroring. Los administradores pueden usar esta funcionalidad para garantizar la disponibilidad de sus sistemas SQL mediante la configuracin de un servidor en espera para su activacin automtica en caso de fallo (failover). Operaciones de Indexacin Online La opcin de indexado online permite modificaciones concurrentes (actualizaciones, borrados e inserciones) en las tablas subyacentes o datos con ndices cluster y de cualquier ndice asociado durante la ejecucin de DDL de indexacin. Por ejemplo, mientras se est reconstruyendo un ndice cluster, se puede seguir haciendo actualizaciones a los datos y consultas sobre estos datos. Nuevas herramientas integradas SQL Server 2005 introduce el SQL Server Studio, una suite de herramientas de gestin integradas. Este nuevo conjunto incluye nuevas funcionalidades para desarrollo, implantacin y resolucin de problemas de Bases de Datos SQL, as como mejoras de las funcionalidades anteriores. Aislamiento de Imgenes (SI) Se dispone de un nuevo nivel de aislamiento de imagen de BBDD (Snapshot Isolation, SI) a nivel de base de datos. SI permite a los usuarios acceder a la ltima operacin realizada utilizando una vista transitoria consistente de la Base de Datos. Esta funcionalidad ofrece una escalabilidad mayor para implementaciones de bases de datos extremadamente grandes. Particionado de Datos El particionado de datos se ha mejorado con particiones nativas de tablas e ndices, posibilitando soluciones de escalabilidad horizontal. Al particionar tablas de bases de datos muy grandes, el rendimiento de las consultas a la base de datos se mejora notablemente. Backups duplicados (mirrored backup) SQL Server 2005 incluye un nuevo soporte para volmenes de backup espejados, aumentando la disponibilidad de las copias de seguridad de SQL Server. La posibilidad de replicar el backup permite resolver posibles problemas de corrupcin del medio fsico de copia. Restauracin online SQL Server 2005 permitir realizar una operacin de recuperacin mientras una instancia de SQL Server est activa. La restauracin online mejora la disponibilidad de SQL Server, ya que nicamente los datos que se estn recuperando quedan como no disponibles. El resto de la base de datos permanece online y disponible.

Recuperacin rpida Esta caracterstica mejora la disponibilidad de las bases de datos de SQL Server con una nueva opcin. Los usuarios podrn reconectarse a una base de datos en recuperacin despus de que realizar un roll forward sobre el log de transacciones Conexin de Administrador dedicada SQL Server 2005 introduce la conexin de administracin dedicada, que pueden utilizar los administradores de BBDD para acceder a un servidor en explotacin aun cuando el servidor est bloqueado o no disponible por cualquier motivo. As, los administradores podrn ejecutar funciones de diagnstico, o sentencias Transact SQL, a fin de poder resolver problemas en el servidor. Mejoras en la Replication Para bases de datos distribuidas mviles, SQL Server 2005 proporciona una serie de funcionalidades de replicacin extremo a extremo, incluyendo la posibilidad de publicar bases de datos Oracle. SQL Server 2005 incluir nuevas mejoras a las herramientas y sobre la escalabilidad de la replicacin tambin.

Desarrollo Soporte para .NET Framework SQL Server 2005 introduce la posibilidad de desarrollar objetos de base de datos en lenguajes .NET. Pueden crearse Objetos de cdigo, incluyendo Funciones, Procedimientos y Triggers en lenguajes como C# y VB.NET. Se pueden crear tambin dos nuevos objetos en estos lenguajes: User-Defined Types y Agregados. Tecnologas XML Las tecnologas XML son un estndar importante y ampliamente aceptado para distribuir datos entre diferentes aplicaciones sobre redes locales e Internet. Microsoft SQL Server 2005 soporta el almacenamiento nativo de documentos XML, especificacin de consultas con XML y devolucin de resultado de consultas como documentos XML. ADO.NET Versin 2.0 Desde el nuevo soporte para tipos SQL a Multiple Active Result Set, ADO .NET supone una evolucin de los mtodos de acceso y manipulacin de datos, para conseguir una mayor escalabilidad y flexibilidad.

Mejoras en Transact-SQL

SQL Server 2005 introduce muchas posibilidades nuevas para el desarrollo de aplicaciones de bases de datos escalables. Estas mejoras incluyen el manejo de errores, nuevas posibilidades de consultas recursivas y soporte para nuevas funcionalidades del motor de SQL Server.

Gestor de Servicio SQL El Gestor de Servicio SQL (SQL Service Broker) ofrece un marco para aplicaciones distribuidas orientado a aplicaciones de lnea de negocios a gran escala.

Servicios de Notification Los Servicios de Notificacin (Notification Services) permiten construir aplicaciones de notificacin mejoradas, capaces de expedir informacin personalizada en el momento en que se genera, como puede ser alertas de cotizaciones de bolsa, nuevas suscripciones, alertas de envo de paquetes, o cambios en las tarifas de billetes de avin, a cualquier dispositivo y a millones de suscriptores.

Servicios Web En SQL Server 2005 , los desarrolladores pueden crear servicios Web en la capa de base de datos, convirtiendo a SQL Server en un servidor HTTP. Esta capacidad supone un nuevo modelo de acceso a los datos para aplicaciones basadas en Web Services.

Soporte para Xquery SQL Server 2005 incluye funcionalidades Xquery de altas prestaciones, que permiten la manipulacin de objetos XML en la capa de datos, as como un nuevo juego de herramientas de creacin de Xquery.

Mejoras en la Bsqueda de Texto Completo SQL Server 2005 incluir soporte para aplicaciones de texto completo ampliadas. Las funcionalidades de catlogo se han mejorado para proporcionar una mayor flexibilidad sobre el conjunto de datos que se catalogan. El rendimiento de las funciones de consulta y la escalabilidad han mejorado sensiblemente. Una serie de nuevas herramientas de gestin permiten un mayor control de la implementacin de texto completo.

Mejoras en Seguridad

SQL Server 2005 incorpora un nuevo modelo de seguridad que separa a los usuarios de los objetos, proporciona un acceso muy granular y un mejor control de los accesos a los datos. Adems, todas las tablas del sistema se implementan ahora como Vistas, lo que redunda en un mayor control sobre los objetos de sistema de la Base de Datos.

Business Intelligence Servicios de Anlisis Con SQL Server 2005, los Servicios de Anlisis (Analysis Services) se mueven en el entorno del anlisis en tiempo real. Desde mejoras en la escalabilidad hasta una integracin profunda con Microsoft Office, SQL Server 2005 ampla el concepto de business intelligence a todos los niveles de su negocio.

Servicios de Transformacin de Datos (DTS) Los Servicios de Transformacin de Datos (DTS) son un conjunto de herramientas grficas y objetos programables que pueden usarse para extraer, transformar y cargar datos (ETL) desde fuentes muy diversas y llevarlas a un destino nico o mltiples destinos. Data Transformation Services (DTS) para Microsoft SQL Server 2005 introduce un rediseo completo para proporcionar una plataforma ETL integral.

Data Mining SQL Server 2005 introduce cuatro nuevos algoritmos de Data Mining, as como herramientas y asistentes mejorados, haciendo que el data mining sea ms accesible a negocios de cualquier tamao.

Servicios de Reporting Servicios de Reporting permite a los negocios integrar de forma sencilla datos desde fuentes heterogneas y data warehouses en informes ricos, interactivos y gestionables, que pueden localizarse y consultarse en intranets, extranets y en Internet.

Soporte de Servicios de Anlisis en Cluster Esta funcionalidad mejora la disponibilidad de los Servicios de Anlisis con soporte para clusters con conmutacin de nodos, soporte mejorado para mltiples instancias y soporte para backup y recuperacin de objetos y datos de Servicios de Anlisis.

Indicadores de Rendimiento Principales Los Indicadores de Rendimiento Principales (Key Performance Indicators , KPI) permiten definir mtricas de negocio en formato grfico, adaptables, para ayudar a generar y hacer el seguimiento de entornos de prueba corporativos.

Escalabilidad y Rendimiento Se ha mejorado la escalabilidad y el rendimiento de los Servicios de Anlisis de SQL Server 2005 por medio de caractersticas como el proceso de particin paralelo, creacin de particiones ROLAP y HOLAP remotas, cubos particionados distribuidos, clculos persistentes y cache proactivo.

Cubo en un solo click Cuando se crea un cubo en un proyecto de Data Warehouse, el asistente para creacin de Cubos incluye una opcin para habilitar la deteccin de cubos y sugerencias con un solo click. Esta tecnologa de cubos en un solo click de SQL Server 2005 examina las relaciones en una vista del origen de datos y aporta sugerencias.

Mejoras en la Arquitectura SQL Server 2005 introduce una nueva arquitectura de Servicios de Transformacin de Datos (DTS). La arquitectura consiste en dos motores: El Runtime de Transformacin de Datos (DTR). Este motor ejecuta paquetes DTS, tareas DTS, hace seguimiento de la ejecucin del paquete y proporciona servicios para las tareas. El Pipeline de Transformacin de Datos (DTP). El motor DTP extrae datos de las fuentes, aplica las transformaciones contra las columnas de datos y carga los datos en los sistemas de almacenamiento.

Integracin con los informes de Office System Los reports emitidos por el servidor de reports pueden ejecutarse en el contexto de SharePoint Portal Server y aplicaciones Office, como Word y Excel. Los usuarios de SharePoint pueden utilizar las funcionalidades de SharePoint para suscribirse a informes, crear nuevas versiones de los informes y distribuirlos. Los usuarios pueden tambin abrir reports en Word o Excel para ver versiones en HTML de los mismos. Los usuarios de SQL Server y Servicios de Anlisis pueden definir reports basados en consultas contra bases de datos relacionales y multidimensionales. Las consultas definidas con el Query Builder pueden procesarse utilizando las posibilidades de proceso de datos incorporado al servidor de informes.

BONDADES DE C#. .NET Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET. Por ejemplo:

El cdigo escrito en C# es autocontenido, lo que significa que no necesita de ficheros adicionales al propio fuente tales como ficheros de cabecera o ficheros IDL

El tamao de los tipos de datos bsicos es fijo e independiente del compilador, sistema operativo o mquina para quienes se compile (no como en C++), lo que facilita la portabilidad del cdigo.

No se incluyen elementos poco tiles de lenguajes como C++ tales como macros, herencia mltiple o la necesidad de un operador diferente del punto (.) acceder a miembros de espacios de nombres (::)

Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de los aos ha ido demostrndose son muy tiles para el desarrollo de aplicaciones y que en otros lenguajes como Java o C++ hay que simular, como un tipo bsico decimal que permita realizar operaciones de alta precisin con reales de 128 bits (muy til en el mundo financiero), la inclusin de una instruccin foreach que permita recorrer colecciones con facilidad y es ampliable a tipos definidos por el usuario, la inclusin de un tipo bsico string para representar cadenas o la distincin de un tipo bool especfico para representar valores lgicos.

Orientacin a objetos: Como todo lenguaje de programacin de propsito general actual, C# es un lenguaje orientado a objetos, aunque eso es ms bien una caracterstica del CTS que de C#. Una diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es ms puro en tanto que no admiten ni funciones ni variables globales sino que todo el cdigo y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del cdigo.

C# soporta todas las caractersticas propias del paradigma de programacin orientada a objetos: encapsulacin, herencia y polimorfismo.

En lo referente a la encapsulacin es importante sealar que aparte de los tpicos modificadores public, private y protected, C# aade un cuarto modificador llamado internal, que puede combinarse con protected e indica que al elemento a cuya definicin precede slo puede accederse desde su mismo ensamblado.

Respecto a la herencia -a diferencia de C++ y al igual que Java- C# slo admite herencia simple de clases ya que la mltiple provoca ms quebraderos de cabeza que facilidades y en la mayora de los casos su utilidad puede ser simulada con facilidad mediante herencia mltiple de interfaces. De todos modos, esto vuelve a ser ms bien una caracterstica propia del CTS que de C#.

Por otro lado y a diferencia de Java, en C# se ha optado por hacer sean por defecto sellados y que los redefinibles hayan de

que todos los mtodos

marcarse con el modificador

virtual (como en C++), lo que permite evitar errores derivados de redefiniciones accidentales. Adems, un efecto secundario de esto es que las llamadas a los mtodos sern ms

eficientes por defecto al no tenerse que buscar en la tabla de funciones virtuales la implementacin de los mismos a la que se ha de llamar. Otro efecto secundario es que permite que las llamadas a los mtodos virtuales se puedan hacer ms eficientemente al contribuir a que el tamao de dicha tabla se reduzca.

Orientacin a componentes: La propia sintaxis de C# incluye elementos propios del diseo de componentes que otros lenguajes tienen que simular mediante construcciones ms o menos complejas. Es decir, la sintaxis de C# permite definir cmodamente propiedades (similares a campos de acceso controlado), eventos (asociacin controlada de funciones de respuesta a notificaciones) o atributos (informacin sobre un tipo o sus miembros)

Gestin automtica de memoria: Como ya se coment, todo lenguaje de .NET tiene a su disposicin el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destruccin de objetos. Sin embargo, dado que la destruccin de los objetos a travs del recolector de basura es indeterminista y slo se realiza cuando ste se active ya sea por falta de memoria, finalizacin de la aplicacin o solicitud explcita en el fuente-, C# tambin proporciona un mecanismo de liberacin de recursos determinista a travs de la instruccin using.

Seguridad de tipos: C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente, lo que permite evita que se produzcan errores difciles de detectar por acceso a memoria no perteneciente a ningn objeto y es especialmente necesario en un entorno gestionado por un recolector de basura. Para ello se toman medidas del tipo:

Slo se admiten conversiones entre tipos compatibles. Esto es, entre un tipo y antecesores suyos, entre tipos para los que explcitamente se haya definido un operador de conversin, y entre un tipo y un tipo hijo suyo del que un objeto del primero almacenase una referencia del segundo (downcasting) Obviamente, lo ltimo slo puede comprobarlo en tiempo de ejecucin

el CLR y no el compilador, por lo que en realidad el CLR y el compilador colaboran para asegurar la correccin de las conversiones.

No se pueden usar variables no inicializadas. El compilador da a los campos un valor por defecto consistente en ponerlos a cero y controla mediante anlisis del flujo de control del fuente que no se lea ninguna variable local sin que se le haya asignado previamente algn valor.

Se comprueba que todo acceso a los elementos de una tabla se realice con ndices que se encuentren dentro del rango de la misma.

Se puede controlar la produccin de desbordamientos en operaciones aritmticas, informndose de ello con una excepcin cuando ocurra. Sin embargo, para conseguirse un mayor rendimiento en la aritmtica estas comprobaciones no se hacen por defecto al operar con variables sino slo con constantes (se pueden detectar en tiempo de compilacin)

A diferencia de Java, C# incluye delegados, que son similares a los punteros a funciones de C++ pero siguen un enfoque orientado a objetos, pueden almacenar referencias a varios mtodos simultneamente, y se comprueba que los mtodos a los que apunten tengan parmetros y valor de retorno del tipo indicado al definirlos.

Pueden definirse mtodos que admitan un nmero indefinido de parmetros de un cierto tipo, y a diferencia lenguajes como C/C++, en C# siempre se comprueba que los valores que se les pasen en cada llamada sean de los tipos apropiados.

Instrucciones seguras: Para evitar errores muy comunes, en C# se han impuesto una serie de restricciones en el uso de las instrucciones de control ms comunes. Por ejemplo, la guarda de toda condicin ha de ser una expresin condicional y no aritmtica, con lo que se evitan errores por confusin del operador de igualdad (==) con el de asignacin (=); y todo caso de un switch ha de terminar en un break o goto que indique cul es la siguiente accin a realizar, lo que evita la ejecucin accidental de casos y facilita su reordenacin.

Sistema de tipos unificado: A diferencia de C++, en C# todos los tipos de datos que se definan siempre derivarn, aunque sea de manera implcita, de una clase base comn llamada System.Object, por lo que dispondrn de todos los miembros definidos en sta clase (es decir, sern objetos)

A diferencia de Java, en C# esto tambin es aplicable a los tipos de datos bsicos Adems, para conseguir que ello no tenga una repercusin negativa en su nivel de rendimiento, se ha incluido un mecanismo transparente de boxing y unboxing con el que se consigue que slo sean tratados como objetos cuando la situacin lo requiera, y mientras tanto puede aplicrseles optimizaciones especficas.

El hecho de que todos los tipos del lenguaje deriven de una clase comn facilita enormemente el diseo de colecciones genricas que puedan almacenar objetos de cualquier tipo.

Extensibilidad de tipos bsicos: C# permite definir, a travs de estructuras, tipos de datos para los que se apliquen las mismas optimizaciones que para los tipos de datos bsicos. Es decir, que se puedan almacenar directamente en pila (luego su creacin, destruccin y acceso sern ms rpidos) y se asignen por valor y no por referencia. Para conseguir que lo ltimo no tenga efectos negativos al pasar estructuras como parmetros de mtodos, se da la posibilidad de pasar referencias a pila a travs del modificador de parmetro ref.

Extensibilidad de operadores: Para facilitar la legibilidad del cdigo y conseguir que los nuevos tipos de datos bsicos que se definan a travs de las estructuras estn al mismo nivel que los bsicos predefinidos en el lenguaje, al igual que C++ y a diferencia de Java, C# permite redefinir el significado de la mayora de los operadores -incluidos los de conversin, tanto para conversiones implcitas como explcitas- cuando se apliquen a diferentes tipos de objetos.

Las redefiniciones de operadores se hacen de manera inteligente, de modo que a partir de una nica definicin de los operadores ++ y -- el compilador puede deducir automticamente como ejecutarlos de manera prefijas y postifja; y definiendo operadores simples (como +), el compilador deduce cmo aplicar su versin de asignacin compuesta (+=) Adems, para asegurar la consistencia, el compilador vigila que los operadores con opuesto siempre se redefinan por parejas (por ejemplo, si se redefine ==, tambin hay que redefinir !=)

Tambin se da la posibilidad, a travs del concepto de indizador, de redefinir el significado del operador [] para los tipos de dato definidos por el usuario, con lo que se consigue que se pueda acceder al mismo como si fuese una tabla. Esto es muy til para trabajar con tipos que acten como colecciones de objetos.

Extensibilidad de modificadores: C# ofrece, a travs del concepto de atributos, la

posibilidad de aadir a los metadatos del mdulo resultante de la compilacin de cualquier fuente informacin adicional a la generada por el compilador que luego podr ser consultada en tiempo ejecucin a travs de la librera de reflexin de .NET . Esto, que ms bien es una caracterstica propia de la plataforma .NET y no de C#, puede usarse como un mecanismo para definir nuevos modificadores.

Versionable: C# incluye una poltica de versionado que permite crear nuevas versiones de tipos sin temor a que la introduccin de nuevos miembros provoquen errores difciles de detectar en tipos hijos previamente desarrollados y ya extendidos con miembros de igual nombre a los recin introducidos.

Si una clase introduce un nuevo mtodo cuyas redefiniciones deban seguir la regla de llamar a la versin de su padre en algn punto de su cdigo, difcilmente seguiran esta regla miembros de su misma signatura definidos en clases hijas previamente a la definicin del mismo en la clase padre; o si introduce un nuevo campo con el mismo nombre que algn mtodo de una clase hija, la clase hija dejar de funcionar. Para evitar que esto ocurra, en C# se toman dos medidas:

Se obliga a que toda redefinicin deba incluir el modificador override, con lo que la versin de la clase hija nunca sera considerada como una redefinicin de la versin de miembro en la clase padre ya que no incluira override. Para evitar que por accidente un programador incluya este modificador, slo se permite incluirlo en miembros que tengan la misma signatura que miembros marcados como redefinibles mediante el modificador virtual. As adems se evita el error tan frecuente en Java de creerse haber redefinido un miembro, pues si el miembro con override no existe en la clase padre se producir un error de compilacin.

Si no se considera redefinicin, entonces se considera que lo que se desea es ocultar el mtodo de la clase padre, de modo que para la clase hija sea como si nunca hubiese existido. El compilador avisar de esta decisin a travs de un mensaje de aviso que puede suprimirse incluyendo el modificador new en la definicin del miembro en la clase hija para as indicarle explcitamente la intencin de ocultacin.

Eficiente: En principio, en C# todo el cdigo incluye numerosas restricciones para asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java, en C# es posible saltarse dichas restricciones manipulando objetos a travs de punteros. Para ello basta marcar regiones de cdigo como inseguras (modificador unsafe) y podrn usarse en ellas punteros de forma similar a cmo se hace en C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad procesamiento muy grandes.

Compatible: Para facilitar la migracin de programadores, C# no slo mantiene una sintaxis muy similar a C, C++ o Java que permite incluir directamente en cdigo escrito en C# fragmentos de cdigo escrito en estos lenguajes, sino que el CLR tambin ofrece, a travs de los llamados Platform Invocation Services (PInvoke), la posibilidad de acceder a cdigo nativo escrito como funciones sueltas no orientadas a objetos tales como las DLLs de la API Win32. Ntese que la capacidad de usar punteros en cdigo inseguro permite que se pueda acceder con facilidad a este tipo de funciones, ya que stas muchas veces esperan recibir o devuelven punteros.

Tambin es posible acceder desde cdigo escrito en C# a objetos COM. Para facilitar esto, el .NET Framework SDK incluye una herramientas llamadas tlbimp y regasm mediante las que es posible generar automticamente clases proxy que permitan, respectivamente, usar objetos COM desde .NET como si de objetos .NET se tratase y registrar objetos .NET para su uso desde COM.

Finalmente, tambin se da la posibilidad de usar controles ActiveX desde cdigo .NET y viceversa. Para lo primero se utiliza la utilidad aximp, mientras que para lo segundo se usa la ya mencionada regasm

S-ar putea să vă placă și