Sunteți pe pagina 1din 17

INFORME 3

DISEÑO Y ADMINISTRACIÓN EN BASES DE


DATOS SQL SERVER

JESUS ALBERTO GUZMAN MENESES


DARWIN BRAYAN QUINTERO SANTA

INSTITUTO DE EDUCACION A DISTANCIA (IDEAD)


SEMINARIO DE PROFUNDIZACIÓN (VISUAL STUDIO NET)
INTRODUCCIÓN

El lenguaje de consulta estructurado SQL (Structured Query Language), es un lenguaje de


base de datos normalizado. El lenguaje SQL está compuesto por comandos, cláusulas,
operadores y funciones. Estos elementos se combinan en las instrucciones para crear,
actualizar y manipular las bases de datos. MICROSOFT SQL SERVER es un sistema de
manejo de bases de datos que permite manipular y recuperar datos mediante línea de
comandos o la interfaz gráfica de Management Studio.
Por otra parte ADO.NET Entity Framework admite aplicaciones y servicios centrados en
datos, y proporciona una plataforma para la programación con datos que eleva el nivel de
abstracción del nivel lógico relacional al nivel conceptual. Al permitir a los programadores
trabajar con datos en un nivel de abstracción superior, Entity Framework admite código que
es independiente de cualquier motor de almacenamiento de datos o esquema relacional
determinados

OBJETIVO GENERAL
Conocer El manejo de bases de datos mediante las herramientas Microsoft SQL server y
Entity Framework.

OBJETIVOS ESPECÍFICOS

 Conocer las estructuras SQL que maneja SQL Server.

 Conocer la sintaxis que maneja la línea de comandos o la interfaz gráfica de


Management Studio.

 Comprender el manejo de ADO.NET Entinta Framework

 Conocer las utilidades que brinda Entity Framework para el manejo de datos.

DESARROLLO TEMATICO
MICROSOFT SQL SERVER
Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional,
desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de
Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del
lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir
relaciones entre ellas (DDL).
Puede ser configurado para utilizar varias instancias en el mismo servidor físico, la primera
instalación lleva generalmente el nombre del servidor, y las siguientes - nombres específicos
(con un guion invertido entre el nombre del servidor y el nombre de la instalación).

Comandos DDL (Lenguaje de definición de datos)


• CREATE: Utilizado para crear tablas, campos e índices.
EJEMPLO:
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
• DROP: Empleado para eliminar tablas e índices.
EJEMPLO:
DROP TABLE Shippers;

Comandos DML (Lenguaje de manipulación de datos)


• SELECT: Utilizado para consultar registros de la BBDD que satisfagan un
determinado criterio.
EJEMPLO:
SELECT CustomerName, City FROM Customers;
• INSERT: Utilizado para cargar lotes de datos en la BB en una única operación.
EJEMPLO:
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
• UPDATE: Utilizado para modificar los valores de los campos y registros
especificados.
EJEMPLO:
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
• DELETE: Utilizado para eliminar registros de una tabla de una BBDD.
EJEMPLO:
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';

LOS TIPOS DE DATOS MÁS UTILIZADOS SON:


• Numéricos: int, decimal, money
• Fecha y hora: datetime
• Cadena de caracteres: varchar

CLAUSULAS: Las cláusulas son las condiciones que modifican nuestras consultas y son
utilizadas para definir los datos que desea seleccionar o manipular.
• FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros.
EJEMPLO:
SELECT * FROM Customers
WHERE CustomerID=1;
• WHERE: Utilizada para especificar las condiciones que deben reunir los registros
que se van a seleccionar.
EJEMPLO:
SELECT * FROM Customers
WHERE Country='Mexico';
• GROUP BY: Utilizada para separar los registros seleccionados en grupos
específicos.
EJEMPLO:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
• ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un
orden especifico.
EJEMPLO:
SELECT * FROM Customers
ORDER BY Country;

Operadores Relacionales
Los operadores son símbolos que permiten realizar operaciones matemáticas, concatenar
cadenas, hacer comparaciones.
• <: Menor que
• >: Mayor que
• <>: Distinto de
• <=: Menor ó igual que
• >=: Mayor ó igual que
• =: Igual que

Eliminar Registros
• DELETE: Elimina Registros (Todos o un solo registro)
• DROP: Elimina la estructura (Tabla)123_456
• TRUNCATE: Eliminar Todos los registros por completo
Identity
‘Autoincremento’
o Solo un campo de la tabla puede tener esta propiedad
o Ocuparlo con número, número enteros.
o No es permitido el registro en el campo, ni modificaciones
o Por defecto, el identity es de 1 a 1.
o No permite valores nulos
o Es un atributo extra para el campo

Operadores Aritméticos

Funciones de Agregado

Concatenación
• Es la unión de 2 o más caracteres
Alias
• Un alias, es otra forma de llamar a una tabla o a una columna, y se utiliza para
simplificar las sentencias SQL cuando los nombres de tablas o columnas son largos
o complicados.

Order by
• Ordena los datos devueltos por una consulta en SQL Server

Operadores Lógicos

LIKE – NO LIKE
El operador LIKE se utiliza en una cláusula WHERE para buscar un patrón específico en
una columna.
Hay dos comodines utilizados en conjunción con el operador como:
% - El signo de porcentaje representa cero, uno, o varios caracteres
_ - El subrayado representa un solo carácter

LIKE DESCRIPCION
WHERE ejemplo LIKE 'a%' Encuentra cualquier valor que comience con "a"

WHERE ejemplo LIKE '%a' Encuentra cualquier valor que termine con "a"

WHERE ejemplo LIKE '%or%' Encuentra cualquier valor que tenga "o" en cualquier
posición

WHERE ejemplo LIKE '_r%' Encuentra cualquier valor que tenga "r" en la segunda
posición

INNER JOIN
• El INNER JOIN palabra clave Selecciona los Registros Que Tienen Valores
coincidentes en Ambas tablas.
EJEMPLO:
SELECT column_name FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

ENTITY FRAMEWORK
Es un conjunto de tecnologías de ADO.NET que permiten el desarrollo de aplicaciones de
software orientadas a datos. Los arquitectos y programadores de aplicaciones orientadas a
datos se han enfrentado a la necesidad de lograr dos objetivos muy diferentes. Deben modelar
las entidades, las relaciones y la lógica de los problemas empresariales que resuelven,
también deben trabajar con los motores de datos que se usan para almacenar y recuperar los
datos. Los datos pueden abarcar varios sistemas de almacenamiento, cada uno con sus
propios protocolos; incluso las aplicaciones que funcionan con un único sistema de
almacenamiento deben equilibrar los requisitos del sistema de almacenamiento con respecto
a los requisitos de escribir un código de aplicación eficaz y fácil de mantener.
Entity Framework permite a los desarrolladores trabajar con datos en forma de objetos y
propiedades específicos del dominio, como clientes y direcciones de cliente, sin tener que
preocuparse por las tablas y columnas de la base de datos subyacente donde se almacenan
estos datos. Con Entity Framework, los desarrolladores pueden trabajar en un nivel mayor de
abstracción cuando tratan con datos, y pueden crear y mantener aplicaciones orientadas a
datos con menos código que en las aplicaciones tradicionales.

Dar vida a los modelos


Un enfoque de diseño habitual para crear una aplicación o un servicio consiste en dividir la
aplicación o el servicio en tres partes: un modelo de dominio, un modelo lógico y un modelo
físico.
1. El modelo de dominio define las entidades y relaciones del sistema que se está
modelando.
2. El modelo lógico de una base de datos relacional normaliza las entidades y relaciones
en tablas con restricciones de claves externas.
3. El modelo físico abarca las capacidades de un motor de datos determinado
especificando los detalles del almacenamiento en forma de particiones e índices.
Cuando se trabaja con las Herramientas de Entity Data Model, el modelo conceptual, el
modelo de almacenamiento y las asignaciones entre los dos se expresan en esquemas basados
en XML y se definen en archivos que tienen extensiones de nombre correspondientes:
 El lenguaje de definición de esquemas conceptuales (CSDL) define el modelo
conceptual. CSDL es la implementación de Entity Framework del Entity Data Model.
La extensión de archivo es .csdl.
 El lenguaje de definición de esquemas de almacenamiento (SSDL) define el modelo
de almacenamiento, que también se denomina modelo lógico. La extensión de
archivo es .ssdl.
 El lenguaje de especificación de asignaciones (MSL) define las asignaciones entre
los modelos conceptual y de almacenamiento. La extensión de archivo es .msl.
Obtener acceso a los datos de entidad y cambiarlos
Entity Framework proporciona las maneras siguientes de consultar un modelo conceptual y
devolver objetos:
 LINQ to Entities. Proporciona compatibilidad con Language-Integrated Query
(LINQ) para consultar los tipos de entidad que se definen en un modelo conceptual.
Para obtener más información, consulta LINQ to Entities.
 Entity SQL. Un dialecto de SQL, independiente del almacenamiento, que trabaja
directamente con entidades del modelo conceptual y que admite conceptos de Entity
Data Model. Entity SQL se utiliza tanto con consultas de objeto como con consultas
que se ejecutan utilizando el proveedor EntityClient. Para obtener más información,
consulta Información general de Entity SQL.
El diagrama siguiente muestra la arquitectura de Entity Framework para el acceso a datos:

Las herramientas de Entity Data Model pueden generar una clase derivada de
System.Data.Objects.ObjectContext o System.Data.Entity.DbContext que representa el
contenedor de entidades definido en el modelo conceptual. Este contexto del objeto
proporciona los medios para realizar el seguimiento de los cambios y administrar las
identidades, la simultaneidad y las relaciones. Esta clase también expone un método
SaveChanges que escribe las inserciones, actualizaciones y eliminaciones en el origen de
datos. Al igual que las consultas, estas modificaciones son realizadas bien por los comandos
que el sistema genera automáticamente o bien por los procedimientos almacenados que el
programador especifica.
Proveedores de datos
El proveedor EntityClient extiende el modelo de proveedor de ADO.NET teniendo acceso a
los datos en lo que respecta a las entidades conceptuales y relaciones. Ejecuta consultas que
utilizan Entity SQL. Entity SQL proporciona el lenguaje de consultas subyacente que permite
a EntityClient comunicarse con la base de datos. Para obtener más información, consulta
Proveedor de EntityClient para Entity Framework.
Entity Framework incluye un proveedor de datos SqlClient actualizado que admite los
árboles de comandos canónicos. Para obtener más información, consulta SqlClient para
Entity Framework.

MICROSOFT AZURE
Microsoft Azure (anteriormente Windows Azure y Azure Services Platform) es un servicio
en la nube ofrecida como servicio y alojado en los Data Centers de Microsoft. Anunciada en
el Professional Developers Conference de Microsoft (PDC) del 2008 en su versión beta, pasó
a ser un producto comercial el 1 de enero de 2010. Windows Azure es una plataforma general
que tiene diferentes servicios para aplicaciones, desde servicios que alojan aplicaciones en
alguno de los centros de procesamiento de datos de Microsoft para que se ejecute sobre su
infraestructura (Cloud Computing) hasta servicios de comunicación segura y federación entre
aplicaciones. En el reporte de Gartner "Magic Quadrant" más reciente, Azure fue uno de solo
dos vendedores (el otro siendo Amazon Web Services) otorgado el título de "Líderes."

Implementación
Windows Azure utiliza un sistema operativo especializado, llamado de la misma forma, para
correr sus "capas" (en inglés “fabric layer”) — un cluster localizado en los servidores de
datos de Microsoft que se encargan de manejar los recursos almacenados y procesamiento
para proveer los recursos (o una parte de ellos) para las aplicaciones que se ejecutan sobre
Windows Azure.
Windows Azure se describe como una “capa en la nube” (en inglés "cloud layer")
funcionando sobre un número de sistemas que utilizan Windows Server, estos funcionan bajo
la versión 2008 de Windows Server y una versión personalizada de Hyper-V, conocido como
el Hipervisor de Windows Azure que provee la virtualización de los servicios. La capa
controladora de Windows Azure se encarga de escalar y de manejar la confiabilidad del
sistema evitando así que los servicios se detengan si alguno de los servidores de datos de
Microsoft tiene problemas y a su vez maneja la información de la aplicación web del usuario
dando como ejemplo los recursos de la memoria o el balanceo del uso de esta.
Servicio de Windows Azure
Dentro de la plataforma, el servicio de Windows Azure es el encargado de proporcionar el
alojamiento de las aplicaciones y el almacenamiento no relacional. Dichas aplicaciones
deben funcionar sobre Windows Server 2008 R2. Pueden estar desarrolladas en .NET, PHP,
C++, Ruby, Java. Además del servicio de ejecución, dispone de diferentes mecanismos de
almacenamiento de datos: tablas NoSQL, blobs, blobs para streaming, colas de mensajes o
'drives' NTFS para operaciones de lectura / escritura a disco.

Características de Windows Azure


o Proceso: el servicio de proceso de Windows Azure ejecuta aplicaciones basadas en
Windows Server. Estas aplicaciones se pueden crear mediante .NET Framework en
lenguajes como C# y Visual Basic, o implementar sin .NET en C++, Java y otros
lenguajes.
o Almacenamiento: objetos binarios grandes (blobs) proporcionan colas para la
comunicación entre los componentes de las aplicaciones de Windows Azure y ofrece
un tipo de tablas con un lenguaje de consulta simple.
o Servicios de infraestructura: posibilidad de desplegar de una forma sencilla
máquinas virtuales con Windows Server o con distribuciones de Linux.
o Controlador de tejido: Windows Azure se ejecuta en un gran número de máquinas.
El trabajo del controlador de tejido es combinar las máquinas en un solo centro de
datos de Windows Azure formando un conjunto armónico. Los servicios de proceso
y almacenamiento de Windows Azure se implementan encima de toda esta eficacia
de procesamiento.
o Red de entrega de contenido (CDN): el almacenamiento en caché de los datos a los
que se accede frecuentemente cerca de sus usuarios agiliza el acceso a esos datos.
o Connect: organizaciones interactúan con aplicaciones en la nube como si estuvieran
dentro del propio firewall de la organización.
o Administración de identidad y acceso: La solución Active Directory permite
gestionar de forma centralizada y sencilla el control de acceso y la identidad. Esta
solución es perfecta para la administración de cuentas y la sincronización con
directorios locales.
BIBLIOGRAFÍA

 W3schools.com. (2017). SQL Tutorial. [online] Available at:


https://www.w3schools.com/sql/default.asp [Accessed 1 May 2017].

 Msdn.microsoft.com. (2017). Introducción (Entity Framework). [online]


Available at: https://msdn.microsoft.com/es-es/library/bb386876(v=vs.100).aspx
[Accessed 1 May 2017].

 Msdn.microsoft.com. (2017). Información general de Entity Framework. [online]


Available at: https://msdn.microsoft.com/es-es/library/bb399567(v=vs.110).aspx
[Accessed 1 May 2017].

 Es.wikipedia.org. (2017). Microsoft Azure. [online] Available at:


https://es.wikipedia.org/wiki/Microsoft_Azure [Accessed 25 Sep. 2017].
RECOMENDACIONES

 Utilizar varios alias para una sola tabla en la misma consulta para simular la
intersección de índices ya no es necesario. SQL Server tiene en cuenta
automáticamente la intersección de índices y puede utilizar varios en la misma
tabla.

 Cuando se realizan consultas que van a devolver muchos campos es mejor definir
todos los campos que queremos devolver, ya que el uso de * o All impide el uso
de índices de forma eficiente.

 Muchos programadores utilizan el count (*) para ver si un registro existe en la


base de datos, pero una forma más eficiente de hacerlo es con Exists. Cuando éste
encuentra un registro detiene la búsqueda del mismo.

 Cuando trabajamos con una instancia de nuestro modelo de Entity Framework, es


que principalmente trabaja desconectado de la base de datos. Es decir, en realidad
es una representación en memoria del esquema de tablas de nuestra base de datos.
CONCLUSIONES

 Entity Framework proporciona herramientas para generar un archivo .edmx y los


objetos de CLR relacionados basándose en una base de datos existente. Esto
reduce en gran medida el código de acceso a datos que se solía necesitar para crear
aplicaciones y servicios de datos basados en objetos, y agiliza la creación de
servicios y aplicaciones de datos orientadas a objetos a partir de una base de datos
existente.

 Las herramientas también permiten compilar en primer lugar un modelo


conceptual y, a continuación, generar automáticamente los objetos de CLR
relacionados y una base de datos auxiliar.

 SQL Server permite ingresar comandos o sentencias de tal manera que podemos
administrar o crear una base de datos. Genera datos desde la creación,
modificación o mantenimiento a tablas las permitiendo la recuperación de datos.

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