GUIA2 SQL

19

Click here to load reader

Transcript of GUIA2 SQL

Page 1: GUIA2 SQL

CENTRO DE GESTIÓN DE MERCADOS, LOGÍSTICA Y TECNOLOGÍAS DE LA INFORMACIÓN

ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN

Módulo

Análisis de bases de datos

GUÍA DE APRENDIZAJE No. 2

Presentado a:

Sandra Guevara

Instructor

Presentado por:

Gynna Marcela Tapiero

Orden:

40130

Page 2: GUIA2 SQL

Defina SQL.

Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella. Es un lenguaje de cuarta generación (4GL).

Page 3: GUIA2 SQL

DEFINA LENGUAJE DE DEFINICIÓN DE DATOS Y LENGUAJE DE MANIPULACIÓN DE DATOS (DDL Y DML).

El DDL (Data Definition Language) lenguaje de definición de datos es la parte del SQL que más varía de un sistema a otro ya que esa area tiene que ver con cómo se organizan internamente los datos y eso, cada sistema lo hace de una manera u otra.

Así como el DML de Microsoft Jet incluye todas las sentencias DML que nos podemos encontrar en otros SQLs (o casi todas), el DDL de Microsoft Jet en cambio contiene menos instrucciones que otros sistemas.  

CREATE TABLE

La sentencia CREATE TABLE sirve para crear la estructura de una tabla no para rellenarla con datos, nos permite definir las columnas que tiene y ciertas restricciones que deben cumplir esas columnas.

La sintaxis es la siguiente:

 

nbtabla: nombre de la tabla que estamos definiendo

nbcol: nombre de la columna que estamos definiendo

Tipo: tipo de dato de la columna, todos los datos almacenados en la columna deberán ser de ese tipo.

Una restricción consiste en la definición de una característica adicional que tiene una columna o una combinación de columnas, suelen ser características como valores no nulos (campo requerido), definición de índice sin duplicados, definición de clave principal y definición de clave foránea (clave ajena o externa, campo que sirve para relacionar dos tablas entre sí).

restricción1: una restricción de tipo 1 es una restricción que aparece dentro de la definición de la columna después del tipo de dato y afecta a una columna, la que se está definiendo.

restricción2: una restricción de tipo 2 es una restricción que se define después de definir todas las columnas de la tabla y afecta a una columna o a una combinación de columnas.

Un Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

Page 4: GUIA2 SQL

El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Lenguaje) lenguaje de manipulación de datos, todas esas sentencias sirven para recuperar, insertar, borrar, modificar los datos almacenados en la base de datos; lo que veremos en este tema son las sentencias que afectan a la estructura de los datos.

RELACIONE, DESCRIBA Y EJEMPLIFIQUE LAS OPERACIONES DE LOS COMANDOS DDL Y DML, TENIENDO EN CUENTA EL SIGUIENTE CUADRO.

COMANDOS DLL

OPERACIÓN DEFINICION EJEMPLO

CREATE Este comando crea un objeto dentro de la base de datos. Puede ser una tabla, vista,

índice, trigger, función, procedimiento o cualquier

otro objeto que el motor de la base de datos soporte.

CREATE TABLE 'TABLA_NOMBRE' ( 'CAMPO_1' INT, 'CAMPO_2' STRING

ALTER

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.

ALTER TABLE 'TABLA_NOMBRE' ( ADD NUEVO_CAMPO INT UNSIGNED meel

DROP

Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función,

Ejemplo ALTER TABLE ''TABLA_NOMBRE'' (

Page 5: GUIA2 SQL

procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.

DROP COLUMN ''CAMPO_NOMBRE1'' )

TRUNCATE Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.

TRUNCATE TABLE ''TABLA_NOMBRE1''

Page 6: GUIA2 SQL

COMANDOS DML

OPERACIÓN DEFINICION EJEMPLO

INSERT Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.

INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...''])

EJEMPLO

INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850);

UPDATE Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla.

UPDATE ''tabla'' SET ''columna1'' = ''valor1'' ,''columna2'' = ''valor2'',... WHERE ''columnaN = ''valorN''EJEMPLO

DELETE FROM ''tabla'' WHERE ''columna1'' = ''valor1''

DELETE Utilizado para eliminar los registros de una base de datos

SELECT Utilizado para consultar registros de la base de datos que satisfagan criterio determinado

Page 7: GUIA2 SQL

ELABORE UN CUADRO EN EL QUE RELACIONE, DEFINA Y EJEMPLIFIQUE LAS CLAUSULAS, OPERADORES Y FUNCIONES DE AGREGADO DE SQL.

SQL

clausula Definición ejemploLa cláusula WHERE     La cláusula WHERE es la

instrucción que nos permite filtrar el resultado de una sentencia SELECT.  Habitualmente no deseamos obtener toda la información existente en la tabla, sino que queremos obtener sólo la información que nos resulte util es ese momento. La cláusula WHERE filtra los datos antes de ser devueltos por la consulta

DEFINICIONEl SQL (Structured query language), lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de investigación de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en un estándar  de lenguaje de bases de datos, y la mayoría de los sistemas de bases de datos lo soportan, desde sistemas para ordenadores personales, hasta grandes ordenadores.

Por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL que puede variar de un sistema a otro, pero con cambios que no suponen ninguna complicación para alguien que conozca un SQL concreto, como el que vamos a ver aquí corespondiente al Access2000.

EJEMPLO <%Dim sql, oConn, RSsql = "SELECT * FROM datos"'Conectamos a la BD.Set oConn = Server.CreateObject("ADODB.Connection")Set RS = Server.CreateObject("ADODB.RecordSet")oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\Webs\Soloasp\db\mibd.mdb"'ahora abrimos nuetro RecordSet con los parámetros del sql que

Page 8: GUIA2 SQL

pusimos antes.RS.Open sql, oConn, 1...'Este DO WHILE imprimiría todos los registros en la columna nombre.Do While not RS.EOFResponse.Write RS.Fields("Nombre")RS.MoveNextLoop...'Cerramos y limpiamos todo.RS.CloseoConn.CloseSet RS = NothingSet oConn = Nothing%>

OPERADORES

Como su nombre indica, el SQL nos permite realizar consultas a la base de datos. Pero el nombre se queda corto ya que SQL además realiza funciones de definición, control y gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad dando origen a tres ‘lenguajes’ o mejor dicho sublenguajes:

El DDL (Data Description Language), lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro)

El DCL (Data Control Language), lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.

El DML (Data Manipulation Language), lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.

FUNCIONES DE SQL es un lenguaje universal dedicado a las bases de datos. Es un lenguaje de sintaxis simple y muy potente. Mediante él se puede recorrer, modificar o borrar registros de las tablas de datos. A continuación escribi una guía básica para aprender SQL. Las funciones principales y el modo de utilización. Veámoslo ahora:

Funciones de valores simples:

ABS(n)= Devuelve el valor absoluto de (n).

Page 9: GUIA2 SQL

CEIL(n)=Obtiene el valor entero inmediatamente superior o igual a "n".

FLOOT(n) = Devuelve el valor entero inmediatamente inferior o igual a "n".

MOD (m, n)= Devuelve el resto resultante de dividir "m" entre "n".

NVL (valor, expresión)= Sustituye un valor nulo por otro valor. POWER (m, exponente)= Calcula la potencia de un numero.

ROUND (numero [, m])= Redondea números con el numero de dígitos de precisión indicados.

SIGN (valor)= Indica el signo del "valor". SQRT(n)= Devuelve la raíz cuadrada de "n".

TRUNC (numero, [m])= Trunca números para que tengan una cierta cantidad de dígitos de precisión.

VAIRANCE (valor)= Devuelve la varianza de un conjunto de valores.

Funciones de grupos de valores:

AVG(n)= Calcula el valor medio de "n" ignorando los valores nulos.

COUNT (* | Expresión)= Cuenta el numero de veces que la expresión evalúa algún dato con valor no nulo. La opción "*"

cuenta todas las filas seleccionadas. MAX (expresión)= Calcula el máximo. MIN (expresión)= Calcula el mínimo.

SUM (expresión)= Obtiene la suma de los valores de la expresión.

GREATEST (valor1, valor2…)= Obtiene el mayor valor de la lista.

LEAST (valor1, valor2…)= Obtiene el menor valor de la lista.

Funciones que devuelven valores de caracteres:

CHR(n) = Devuelve el carácter cuyo valor en binario es equivalente a "n".

CONCAT (cad1, cad2)= Devuelve "cad1" concatenada con "cad2".

LOWER (cad)= Devuelve la cadena "cad" en minúsculas. UPPER (cad)= Devuelve la cadena "cad" en mayúsculas.

INITCAP (cad)= Convierte la cadena "cad" a tipo titulo. LPAD (cad1, n[,cad2])= Añade caracteres a la izquierda de la

cadena hasta que tiene una cierta longitud. RPAD (cad1, n[,cad2])= Añade caracteres a la derecha de la

cadena hasta que tiene una cierta longitud. LTRIM (cad [,set])= Suprime un conjunto de caracteres a la

izquierda de la cadena. RTRIM (cad [,set])= Suprime un conjunto de caracteres a la

derecha de la cadena. REPLACE (cad, cadena_busqueda [, cadena_sustitucion])=

Sustituye un carácter o caracteres de una cadena con 0 o mas caracteres.

SUBSTR (cad, m [,n])= Obtiene parte de una cadena. TRANSLATE (cad1, cad2, cad3)= Convierte caracteres de una cadena en caracteres diferentes, según un plan de sustitución

marcado por el usuario.

Funciones que devuelven valores numéricos:

ASCII(cad)= Devuelve el valor ASCII de la primera letra de la

Page 10: GUIA2 SQL

cadena "cad". INSTR (cad1, cad2 [, comienzo [,m]])= Permite una búsqueda de un conjunto de caracteres en una cadena pero no suprime

ningún carácter después. LENGTH (cad)= Devuelve el numero de caracteres de cad.

Funciones para el manejo de fechas:

SYSDATE= Devuelve la fecha del sistema. ADD_MONTHS (fecha, n)= Devuelve la fecha "fecha"

incrementada en "n" meses. LASTDAY (fecha)= Devuelve la fecha del último día del mes

que contiene "fecha". MONTHS_BETWEEN (fecha1, fecha2)= Devuelve la diferencia

en meses entre las fechas "fecha1" y "fecha2". NEXT_DAY (fecha, cad)= Devuelve la fecha del primer día de la

semana indicado por "cad" después de la fecha indicada por "fecha".

Funciones de conversión:

TO_CHAR= Transforma un tipo DATE ó NUMBER en una cadena de caracteres.

TO_DATE= Transforma un tipo NUMBER ó CHAR en DATE. TO_NUMBER= Transforma una cadena de caracteres en

NUMBERCARACTERISTICAS

Una sentencia SQL es como una frase (escrita en inglés ) con la que decimos lo que  queremos obtener y de donde obtenerlo.

Todas las sentencias empiezan con un verbo (palabra reservada que indica la acción a realizar), seguido del resto de cláusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintáctico como el que se muestra a continuación.

INVESTIGUE SOBRE SQL SERVER Y HAGA UN CUADRO COMPARATIVO ENTRE SUS VERSIONES 2000, 2005 Y 2008.

versiones SQL Server2000 En la versión 7, había confusiones entre la versión

Developer y Desktop Engine, ya que se utilizaban las mismas siglas (MSDE) en algunas ocasiones. Tambiénse confundían Desktop Engine y Desktop Edition por la similitud de nombres.Desktop Edition de SQL Server 7, ha pasado a llamarse Personal Edition en SQLServer 2000.

Page 11: GUIA2 SQL

Ediciones de Servidor

SQL Server 2000 Enterprise Edition

SQL Server 2000 Standard Edition

Ediciones de uso especial

SQL Server 2000 Personal Edition

SQL Server 2000 Developer Edition

SQL Server 2000 Evaluation Edition

SQL Server 2000 Windows CE Edition

SQL Server 2000 DeskTop

SQL Server 2000 Enterprise Edition:

Incluye el set completo de base de datos SQL Server. Se caracteriza por lo siguiente: Es la versión de SQL Server 2000 más escalable, a unos niveles de rendimiento requeridos para soportar los procesos de transacción on-line más grandes, así como gestionar grandes sistemas de almacenamiento de datos. Incluye una serie de herramientas de análisis que no aparecen ninguna otra versión. Por lo tanto esta edición nos asegura escalabilidad, disponibilidad, rendimiento y análisis avanzado.

SQL Server 2000 Standard Edition:

Esta versión está diseñada para medianas y pequeñas empresas. Todas las especificaciones que contiene esta versión están contenidas en la versión Enterprise. Todas las características de Data Mining y OLAP están incluidas en esta versión. Además se incluyen DTS( Servicios de transformación de datos), Replicación de bases de datos, Full-Text Search (Búsquedas de texto por palabra), English Query, desarrollo de procedimientos almacenados, herramientas de depuración, así como herramientas de análisis de rendimiento y trazas de seguimiento.

SQL Server 2000 Personal Edition:

Esta versión está diseñada para usuarios que pasan la mayor parte del tiempo desconectados de la red, pero que ejecutan aplicaciones que requieren SQL Server para almacenar datos en una máquina local. Lógicamente esta versión carece de la escabilidad, niveles de rendimiento, etc., que poseen las versiones Enterprise y Standard.

SQL Server 2000 Developer Edition:

Esta versión está diseñada para el desarrollo inicial de aplicaciones, contiene las mismas funcionalidades que la versión Enterprise, excepto la más importante, la licencia para poder distribuir aplicaciones con esta versión de SQL Server. Una vez que se ha realizado el desarrollo inicial es necesario instalar una licencia de la versión que se va a requerir.

SQL Server 2000 Evaluation Edition:

Es una versión diseñada para probar las funcionalidades de SQL Server 2000, pero tiene un límite de uso en el

Page 12: GUIA2 SQL

tiempo, es decir, que no se puede utilizar para usar en el entorno de producción. Esta versión dejará de funcionar 120 días después de su instalación. Recomendable instalar esta versión en sistemas de escritorio o portátiles.

2005 SQL Server 2005 es una plataforma global de base de

datos que ofrece administración de datos empresariales

con herramientas integradas de inteligencia empresarial

(BI). El motor de la base de datos SQL Server 2005

ofrece almacenamiento más seguro y confiable tanto para

datos relacionales como estructurados, lo que le permite

crear y administrar aplicaciones de datos altamente

disponibles y con mayor rendimiento para utilizar en su

negocio.

El motor de datos SQL Server 2005 constituye el núcleo

de esta solución de administración de datos

empresariales. Asimismo, SQL Server 2005 combina lo

mejor en análisis, información, integración y notificación.

Esto permite que su negocio cree y despliegue soluciones

de BI rentables que ayuden a su equipo a incorporar

datos en cada rincón del negocio a través de tableros de

comando, escritorios digitales, servicios Web y

dispositivos móviles.

2008 La nueva base de datos contiene mayor seguridad, integración con PowerShell, remueve La consola configuración del área expuesta (consola para configurar seguridad), encripción transparente de datos, auditoría de datos, compresión de datos, tiene correctores de sintaxis del lenguaje Transact-SQL e IntelliSense (una carácteristica del visual studio que permite a la base de datos sugerir objetos existentes mientras uno escribe la mitad de la palabra). Así mismo incluye nuevos tipos de datos y funciones. Entre ellos, datos espaciales, nuevos datos de tiempo (datetime2 y Datetimeoffset), tipos de datos jerárquicos.

Microsoft SQL Server es un sistema de gestión de base de datos que facilita las actividades de creación y administración de las bases de datos, será entonces este sistema el que utilizaremos en la implementación de las bases de datos. Investigue sobre los Servicios que posee SQL Server y construya un mapa conceptual donde se visualice como se integran estos servicios y su funcionalidad.

Realice un mapa de proceso donde describa el proceso de instalación de SQLServer.

Page 13: GUIA2 SQL

IDENTIFICAR LOS TIPOS DE DATOS QUE MANIPULA SQL

Tipo de dato Sinónimos Tamaño DescripciónBINARY VARBINARY

BINARY VARYINGBIT VARYING

1 byte por carácter

Se puede almacenar cualquier tipo de datos en un campo de este tipo. Los datos no se traducen (por ejemplo, a texto). La forma en que se introducen los datos en un campo binario indica cómo aparecerán al mostrarlos.

BIT BOOLEANLOGICALLOGICAL1YESNO

1 byte Valores Sí y No, y campos que contienen solamente uno de dos valores.

TINYINT INTEGER1BYTE

1 byte Un número entero entre 0 y 255.

COUNTER AUTOINCREMENT Se utiliza para campos contadores cuyo valor se incrementa automáticamente al crear un nuevo registro.

MONEY CURRENCY 8 bytes Un número entero comprendido entre – 922.337.203.685.477,5808 y 922.337.203.685.477,5807.

DATETIME DATETIME

8 bytes Una valor de fecha u hora entre los años 100 y 9999

UNIQUEIDENTIFIER

GUID 128 bits Un número de identificación único utilizado con llamadas a procedimientos remotos.

DECIMAL NUMERICDEC

17 bytes Un tipo de datos numérico exacto con valores comprendidos entre 1028 - 1 y -

Page 14: GUIA2 SQL

1028 - 1. Puede definir la precisión (1 - 28) y la escala (0 - precisión definida). La precisión y la escala predeterminadas son 18 y 0, respectivamente.

REAL SINGLEFLOAT4IEEESINGLE

4 bytes Un valor de coma flotante de precisión simple con un intervalo comprendido entre – 3,402823E38 y – 1,401298E-45 para valores negativos, y desde 1,401298E-45 a 3,402823E38 para valores positivos, y 0.

FLOAT DOUBLEFLOAT8IEEEDOUBLENUMBER

8 bytes Un valor de coma flotante de precisión doble con un intervalo comprendido entre – 1,79769313486232E308 y – 4,94065645841247E-324 para valores negativos, y desde 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos, y 0.

SMALLINT SHORTINTEGER2

2 bytes Un entero corto entre – 32.768 y 32.767.

INTEGER LONGINTINTEGER4

4 bytes Un entero largo entre – 2.147.483.648 y 2.147.483.647.

IMAGE LONGBINARYGENERALOLEOBJECT

Lo que se requiera

Desde cero hasta un máximo de 2.14 gigabytes.Se utiliza para objetos OLE.

TEXT LONGTEXTLONGCHARMEMONOTENTEXT

2 bytes por carácter. (Consulte las notas).

Desde cero hasta un máximo de 2.14 gigabytes.

CHAR TEXT(n)ALPHANUMERICCHARACTERSTRINGVARCHARCHARACTER VARYINGNCHARNATIONAL CHARACTERNATIONAL CHARNATIONAL CHARACTER VARYINGNATIONAL CHAR VARYING

2 bytes por carácter. (Consulte las notas).

Desde cero a 255 caracteres.