Download 1 Tema: Creación de una base de datos utilizando sintaxis Sql

Document related concepts

Lenguaje de definición de datos wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

SQL wikipedia , lookup

SQL Server Compact wikipedia , lookup

Null (SQL) wikipedia , lookup

Transcript
Base de datos I. Guía 4
1
Facultad:
Ingeniería
Escuela:
Computación
Asignatura: Base de datos I
Tema: Creación de una base de datos utilizando
sintaxis Sql.
Objetivo
Específico


Comprender la sintaxis SQL para crear base de datos y tablas
Crear una base de datos con instrucciones de T-SQL
Materiales y equipo
 Computadora con SQL Server 2008.
 Guía Número 4
Introducción
Teórica
Instrucciones Fundamentales de Transact-SQL (T-SQL).
En esta práctica se van a conocer las instrucciones de Transact-SQL más fundamentales.
SQL es un lenguaje estándar utilizado para manipular y recuperar información de bases de
datos relacionales, SQL (Structured Query Languaje) además le permite al programador o
al administrador de la base de datos realizar las siguientes tareas:





Modificar la estructura de la base de datos.
Cambiar la configuración de seguridad del sistema.
Agregar usuarios y permisos en bases de datos o tablas.
Realizar consultas para recuperar información.
Actualizar el contenido de una base de datos.
En la nueva versión de SQL Server 2005, T-SQL se ha examinado, agregándole muchas
instrucciones de programación nuevas. Entre otras cosas, se ha convertido para ser un
lenguaje común en tiempo de ejecución (CLR, Common Language Runtime), un lenguaje
compatible; en resumen, ahora es un lenguaje .NET. Aunque para SQL Server 2005
podemos utilizar cualquier lenguaje .NET para acceder a la base de datos, al final se va a
utilizar T-SQL y este sigue siendo el lenguaje principal en SQL Server.
Base de datos I, Guía 4
2
Tipos de Sentencias de T-SQL.
Existen tres tipos de sentencias que se ejecutan en T-SQL y estas son:



Sentencias de Lenguaje de Definición de Datos (LDD).
Sentencias de Lenguaje de Control de Datos (LCD).
Sentencias de Lenguaje de Manipulación de los datos (LMD).
Lenguaje de Definición de Datos (LDD).
Las sentencias de Definición de datos nos ayudan a definir todos los objetos de la base de
datos. Claro para poder hacer uso de estas sentencias se deben de tener los permisos
adecuados.
Algunas Sentencia LDD son:



CREATE nombre_objeto
ALTER nombre_objeto
DROP nombre_objeto
Lenguaje de Control de Datos (LCD)
Estas sentencias son usadas para modificar los permisos asociados a un usuario o rol de
la base de datos. Al igual que los LDD para poder ejecutar alguna de estas sentencias se
deben tener los permisos adecuados.
Sentencias LCD:



GRANT
DENY
REVOKE
Lenguaje de Manipulación de Datos (LMD)
Las sentencias LMD trabajan con los datos en la base de datos. Estas sentencias se
utilizan para insertar, modificar, eliminar y recuperar los datos.
Sentencias LMD:




INSERT
UPDATE
DELETE
SELECT
Base de datos I. Guía 4 3
TIPOS DE DATOS DE SQL SERVER
Los tipos de datos definen los valores de los datos permitidos para cada columna en las
tablas de la base de datos. SQL Server proporciona un número de tipos de datos.
Categorías de los Tipos de Datos:
Algunos tipos de datos de SQL Server 2008 se organizan en las siguientes categorías:
Instrucción CREATE
Vamos a examinar la estructura completa de la sentencia CREATE empezando
con la más general. Descubrirá que las instrucciones CREATE empiezan de la misma
forma y después dan paso a sus especificaciones. La primera parte de CREATE será
siempre igual:
CREATE <tipo de objeto> <nombre del objeto>
A esta parte le seguirán los detalles, que variarán según la naturaleza del objeto
que estemos creando. A continuación se presenta un listado de sintaxis más completa
de CREATE:
CREATE DATABASE
CREATE DATABASE <nombre de base de datos>
[ON [PRIMARY]
([NAME = <nombre lógico del archivo>,]
FILENAME = <’nombre del archivo’>
4
Base de datos I, Guía 4
[, SIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>]
[, MAXSIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>]
[, FILEGROWTH = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes|
porcentaje>] ) ]
[LOG ON
([NAME = <nombre lógico del archivo>,]
FILENAME = <’nombre del archivo’>
[, SIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>]
[, MAXSIZE = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes>]
[, FILEGROWTH = <tamaño en Kilobytes, megabytes, gigabytes, o terabytes|
porcentaje>] ) ]
[ COLLATE <nombre de intercalación> ]
Tenga en cuenta que algunas de las opciones anteriores son mutuamente
excluyentes (por ejemplo, si está creando para anexar, la mayoría de las opciones
que no sean ubicaciones de archivo no serán válidas). En esta sintaxis hay mucho
que explicar, por lo que vamos a desglosarla en sus elementos.
ON:
ON se utiliza en dos sitios para definir la ubicación del archivo donde se
almacenan los datos (Archivo .MDF) y para definir la misma información para el
lugar donde se guarda el registro (Log de transacciones, archivo .LDF). Advertirá aquí
la inclusión de la palabra clave PRIMARY, que indica que lo que sigue es un
grupo de archivos primarios (o principales) en el que se guardan físicamente los
datos. También podemos guardar datos en los denominados grupos de archivos
secundarios.
NAME:
Éste es el nombre del archivo que estamos definiendo, pero sólo es un nombre
lógico, es decir, el nombre que va a utilizar SQL Server internamente para hacer
referencia a dicho archivo.
FILENAME:
Éste es el nombre físico del disco del archivo del sistema operativo real en el que se
van a guardar los datos y el registro (Log de transacciones). El valor predeterminado
dependerá de si estamos tratando con la propia base de datos o con el Log de
transacciones. De forma predeterminada, el archivo se ubicará en el siguiente
subdirectorio \ Data dentro del directorio C:\ Archivos de programa \ Microsoft
SQLServer \ MSSQL.1 \ MSSQL (o el directorio que ha ya establecido como
principal para SQL Server en la instalación). Si estuviésemos utilizando el archivo de
base de datos físico, se denominaría igual que nuestra base de datos con una
extensión .mdf y si estuviésemos utilizando el registro, tendría el mismo nombre
que el archivo de base de datos, pero con un sufijo _log y una extensión .ldf.
Base de datos I. Guía 4 5
SIZE:
Aquí no hay ningún misterio: es el tamaño de la base de datos. De forma
predeterminada, el tamaño se proporciona en megabytes, pero también podemos
hacer que se proporcione en kilobytes utilizando KB en lugar de MB tras el valor
numérico del tamaño; también podemos usar un tamaño mucho mayor con GB
(gigabytes) o incluso TB (terabytes). Tenga en cuenta que este valor debe ser,
al menos, tan alto como el de la base de datos model y debe ser un número entero
(sin decimales); en caso contrario recibiremos un error. Si no suministramos un valor
para SIZE, la base de datos tendrá inicialmente el mismo tamaño que el de la
base de datos model.
MAXSIZE:
Este parámetro es una pequeña variante del parámetro SIZE. SQL Server tiene
un mecanismo que permite a nuestra base de datos asignar automáticamente un
espacio en disco adicional (para crecer) cuando sea necesario. MAXSIZE es el
tamaño máximo al que puede crecer la base de datos. Una vez más, de forma
predeterminada se proporciona en megabytes, como SIZE, podemos utilizar KB, GB
o TB para emplear cantidades de incremento diferentes. La pequeña variante es que
no existe un valor predeterminado firme.
Si nuestra base de datos (el archivo .mdf) llega al valor establecido en el parámetro
MAXSIZE, nuestros usuarios empezarán a recibir errores indicando que sus
inserciones no se pueden ejecutar. Si nuestro registro (Log de transacciones .ldf)
llega a su tamaño máximo, no podremos ejecutar ninguna actividad de inicio de
sesión en la base de datos.
FILEGROWTH:
Mientras SIZE establece el tamaño inicial de la base de datos y MAXSIZE determina
exactamente el tamaño máximo que puede llegar a tener el archivo de la base
de datos, FILEGROWTH determina básicamente el incremento del crecimiento con
que se puede llegar a dicho máximo. Para ello, proporcionamos un valor indicando
por cuantos bytes (en KB, MB, GB, o TB) a la vez deseamos aumentar el
archivo. Por ejemplo, si establecemos un archivo de base de datos para que cuando
llegue a 1GB incremente en un valor FILEGROWTH de un 20%, la primera vez
que se expanda, aumentará hasta a 1.2GB, la segunda vez hasta 1.44GB y así
sucesivamente.
LOG ON:
La opción LOG ON nos permite establecer que deseamos que nuestro registro (Log
de transacciones) se dirija a un conjunto específico de archivos y dónde se
deben ubicar exactamente dichos archivos. Si no proporcionamos esta opción, SQL
Server creará el registro (Log de transacciones) en un solo archivo y lo
predeterminará para que tenga un tamaño igual al 25% del tamaño del archivo de datos.
6
Base de datos I, Guía 4
TIPS:
Es muy recomendable que guarde sus archivos de registro ( .ldf) en una unidad de
disco diferente a la de sus archivos de datos principales (.mdf). Al hacerlo, evitará
que los archivos de datos principal y de registro compitan por la E/S del disco
además de proporcionar una seguridad adicional si falla una unidad.
COLLATE:
Esta opción tiene que ver con el problema de la ordenación, las mayúsculas y
minúsculas y los acentos. Al instalar su SQL Server, habrá decidido sobre cuál es la
intercalación predeterminada, pero puede sobrescribir este parámetro a nivel de base de
datos y a nivel de columna.
Procedimiento
Bibliografía
1-Iniciar
SQL Server Management Studio
Luego de estar dentro de Management Studio, ubique el botón nueva consulta(1), y luego
clic sobre él para que habilite un espacio en blanco(2) para ingresar las sentencias sql
Guía 1
2- Ahora crearemos la base de datos
Para que pueda verificar la creación de los archivos .mdf y .ldf cree una carpeta en el
directorio raíz C:
Los archivos se almacenaran en esa carpeta base
Base de datos I. Guía 4 7
En el espacio en blanco digitar la siguiente sentencia, no olvide utilizar el número de
carnet.
Ubique los siguientes botones en la barra de SQL Server
El botón
se utiliza para ejecutar la sentencia SQL que hemos ingresado, pero
siempre es recomendable dar clic en el botón analizar
la sintaxis no posee errores.
para que SQL Server revise que
Analice la sintaxis y luego ejecute la sentencia, si todo marcha bien deberá aparecer un
mensaje
Command(s) completed successfully.
En caso de error en la ejecucion SQL enviará un mensaje de error en letras rojas, por lo
que debera revisar la sintaxis, ya sean parensetis, comas, comillas, etc
Para eliminar una base de datos se utiliza el comando
DROP DATABASE nombrebasededatos
Ahora crearemos las tablas para la base de datos
Primero debemos verificar que la base de datos donde crearemos las tablas esta en uso o
seleccionada, para verificarlo a la izquierda del botón ejecutar, hay una caja de texto
donde aparece la base de datos seleccionada, la siguiente figura muestra que la base de
datos en uso es la master, si ud crea una tabla, ira directo a esa base de datos, por lo que
8
Base de datos I, Guía 4
necesitamos cambiarla a la base de datos que acabamos de crear.
Para seleccionar la base de datos hacemos uso del comando USE de la siguiente forma
USE BD_NumeroCarne
Y verifique que la base de datos ha sido puesta en uso.
Sintaxis para creación de tablas
CREATE TABLE "nombre_tabla"
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",...)
Crear la tabla contactos, con el código sql que aparece debajo de la tabla
Base de datos I. Guía 4 9
Para eliminar la tabla se utiliza el comando
DROP TABLE nombredetabla
INSERTAR DATOS
Ahora insertaremos datos en la tabla contactos con la siguiente sintaxis:
Note que los campos de texto van entre comillas simples y los valores numéricos, no
necesitan comillas.
Abra la tabla CONTACTOS y verifique que el registro ha sido ingresado correctamente.
Modificar tabla
Para agregar un nuevo campo a la tabla digitamos la siguiente sentencia
Esta sentencia nos permite agregar el campo estado con un varchar de 8 caracteres
Para renombrar un campo de la tabla digitamos la siguiente sentencia
Este es un procedimiento almacenado que nos permite renombrar el campo estado a
est_civil
Para eliminar un campo de la tabla digitamos la siguiente sentencia
10 Base de datos I, Guía 4
Consulta de información
Para mostrar los registros de una tabla, utilice la siguiente sintaxis
SELECT * FROM Nombretabla
Asignación
 Crear una base de datos con el nombre SUCARNETSALES el tamaño inicial para
la base de datos será de 3MB y el log de transacciones de 1MB con crecimiento
del 10% cada uno y un máximo de 10 MB
Deje el script como constancia, NO BORRE las sentencias que va digitando
Dentro de la bd SUCARNETVENTAS crear las siguientes tablas
Tabla: Cliente
CAMPO
CODIGO
NOMBRES
DIRECCION
FAX
EMAIL
SALDO
TIPO DE DATO
INT
VARCHAR
VARCHAR
CHAR
VARCHAR
DECIMAL
LONGITUD
Tabla: vendedor
CAMPO
CODIGO
NOMBRES
APELLIDOS
DIRECCION
TELEFONO
EMAIL
COMISION
VENTAS
TIPO DE DATO
INT
VARCHAR
VARCHAR
VARCHAR
CHAR
VARCHAR
DECIMAL
DECIMAL
LONGITUD
30
30
8
30
(10,2)
30
30
30
8
30
(10,2)
(10,2)
VALORES
NOT NULL
NOT NULL
VALORES
NOT NULL
NOT NULL
NOT NULL
TABLA: ARTICULO
CAMPO
TIPO DE DATO
LONGITUD
VALORES
NUMART
DESCRIPCION
PRECIO
EXISTENCIA
CATEGORIA_ART
CHAR
VARCHAR
DECIMAL
INT
VARCHAR
4
30
(10,2)
NOT NULL
30
NOT NULL
Base de datos I. Guía 4 11
TABLA: PEDIDO
CAMPO
NUMPED
NUMCLI
FECHA_PED
TOTAL_DESC
TIPO DE DATO
INT
INT
DATETIME
DECIMAL
LONGITUD
VALORES
NOT NULL
NOT NULL
(10,2)
Tabla: DETALLE PEDIDO
CAMPO
TIPO DE DATO
NUMPED
NUMART
CANTIDAD
INT
CHAR
INT
LONGITUD
VALORES
4
NOT NULL
NOT NULL
Agregar 5 registros a cada tabla
Investigación complementaria

Crear nuevamente la base de datos SUCARNETVENTAS y agregar las
Guíarespectivas
3
claves primarias y foráneas en las tablas que correspondan
Bibliografía
Guía 4
Guía
3
Francisco
Charte
Ojeda, SQL Server 2008. Madrid, España : ANAYA, 2009 1era edicion
fía
Guía 4
fía
12 Base de datos I, Guía 4
Guía
4:
INTRODUCCIÓN
A
Hoja de cotejo:
T-
SQL.
Docente:
Máquina No:
Máquina No:
Tema: Presentación
del programa
Alumno
:
Máquina No:GL:
Alumno:
Docente:
GL:
Docente:
GL:
Fecha:
a
EVALUACION
%
CONOCIMIENTO
Del 20
al 30%
APLICACIÓN
DEL
CONOCIMIENTO
Del 40%
al 60%
1-4
5-7
8-10
Conocimie
nto
deficient
e de los
fundament
os
teóricos
Conocimiento
y explicación
incompleta de
los
fundamentos
teóricos
Conocimiento
completo y
explicación
clara de los
fundamentos
teóricos
No tiene
actitud
proactiva
.
Actitud
propositiva y
con
propuestas no
aplicables al
contenido de
la guía.
Tiene actitud
proactiva y sus
propuestas son
concretas.
ACTITUD
Del 15%
al 30%
TOTAL
100%
Nota
4
1
Base de datos I. Guía 4 13