GUIA2 SQL
Click here to load reader
-
Upload
ginita-nice -
Category
Documents
-
view
418 -
download
2
Transcript of 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
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).
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.
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'' (
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''
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
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
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).
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
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.
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
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.
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 -
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.