1. Facultad de
Educación
SQL 2005
SERVER
Ing. Eddye Arturo Sánchez Castillo
Mail:
eddiesancez0710@gmail.com
Clase
Versión: Microsoft Office 2010 06
2. CONTENIDO
1. Objetos de una Base de Datos
2. Consulta a los catálogos
3. Editor de Código
4. Creación de Base de Datos
5. Administración de los Archivos de
una Base de Datos
3. OBJETOS DE UNA BASE DE DATOS
Una base de datos relacional esta compuesta por diferentes tipos
de objetos. Las siguientes son algunos de lo objetos más comunes:
Tablas (tables): Son los objetos que contienen los datos de la Base
de Datos. Una Tabla es una colección de columnas donde los datos
están organizado en un formato fila-columna similar a la de una hoja
de calculo. Cada fila representa un registro único y cada columna es
un campo dentro del registro.
Disparadores o desencadenantes (triggers): Son los objetos que
contienen los datos de la Base de Datos. Una Tabla es una colección
de columnas donde los datos están organizado en un formato fila-
columna similar a la de una hoja de calculo. Cada fila representa un
registro único y cada columna es un campo dentro del registro.
Procedimientos Almacenados (stored procedures): Estos son
similares a las macros que se utilizan en Excel o Word. Podemos
escribir codigos SQL y almacenarlos con un nombre.
4. CONSULTA A LOS CATÁLOGOS
Cuando se desea obtener información de alguna tabla del sistema
podemos hacerlo mediante una consulta directa con SELECT,
utilizando un procedimiento almacenado del sistema.
Consulta Directa:
Podemos utilizar una instrucción SELECT sencilla para leer una
tabla del Sistema
SELECT * FROM sysobjects WHERE type = ‘U’
Muestra una lista de todas las tablas de usuario de la base de datos
actual efectuando una consulta directa a su tabla de sistema
sysobjects.
Procedimiento Almacenado del Sistema:
Es un programa almacenado en la base de datos, y que puede ser
invocado por una aplicación para ejecutar operaciones en la base de
datos.
Sp_help clientes
Consulta el Catálogo de la base de datos actual para mostrar toda la
información acerca de la definición de la tabla clientes.
5. EL EDITOR DE CÓDIGO (THE CODE EDITOR)
Es un editor para crear y modificar scripts (guiones).
Reemplaza al Analizador de Consultas (Query Analyzer).
1
2 3
6. EL EDITOR DE CÓDIGO (THE CODE EDITOR)
Es un editor para crear y modificar scripts (guiones).
Reemplaza al Analizador de Consultas (Query Analyzer).
1
2 3
7. CREACIÓN DE BASE DE DATOS
Antes de crear una base de datos tenga en cuenta lo
siguiente:
Solo pueden crear Base de Datos las cuentas de inicio
de sesión que pertenecen a los roles fijos de servidor
sysadmin y dbcreator, aunque el permiso se puede
conceder a otras cuentas.
La cuenta de inicio de sesión que crea la base de datos
se convierte en el usuario dueño (dbo) de la base de
datos.
Defina el nombre y tamaño de la base de datos, los
archivos (y sus propiedades) en los que residirá la base
de datos.
8. CREACIÓN DE BASE DE DATOS
Estructura Física de una Base de Datos
Una base de datos está compuesta físicamente de varios
archivos en disco, dos como mínimo:
1. Archivo Principal: Este archivo generalmente tiene el
mismo nombre de la base de datos más la frase _DATA
y con extensión MDF
2. Archivo de Registro de Transacciones (Log): Este
archivo generalmente tiene el mismo nombre de la base
de datos más la frase _LOG y con extensión LDF
9. CREACIÓN DE BASE DE DATOS
Estructura Lógica de una Base de Datos
Una base de datos está compuesta lógicamente por lo
siguientes tipos de objetos o componentes:
1. Tablas
2. Índices
3. Vistas
4. Procedimientos Almacenados
5. Otros Elementos Lógicos
** Para definición de cada elemento ver sección de
conceptos .
10. CREACIÓN DE BASE DE DATOS
Creando Objetos
Los objetos pueden ser creados por medio de un ambiente
gráfico o utilizando sentencias SQL para cada tipo de ellos.
A continuación ejemplos de la creación de objetos p
or medio de sentencia o SCRIPTs.
12. CREACIÓN DE UNA BASE DE DATOS
Por ejemplo, si una libreta de teléfonos estuviese
almacenada como base de datos de Access, podría realizar
búsquedas por dirección, nombre o número de teléfono, en
vez de sólo por apellido.
13. TIPOS DE DATOS EN TRANSACT SQL
Cuando definimos una tabla, variable o constante
debemos asignar un tipo de dato que indica los posibles
valores. El tipo de datos define el formato de
almacenamiento, espacio que de disco-memoria que va a
ocupar un campo o variable, restricciones y rango de
valores validos.
Transact SQL proporciona una variedad predefinida de
tipos de datos . Casi todos los tipos de datos manejados
por Transact SQL son similares a los soportados por SQL.
14. TIPOS DE DATOS NUMÉRICOS.
Bit. Una columna o variable de tipo bit puede almacenar el rango de valores de 1
a 0.
Tinyint. Una columna o variable de tipo tinyint puede almacenar el rango de
valores de 0 a 255.
SmallInt. Una columna o variable de tipo smallint puede almacenar el rango de
valores -32768 a 32767.
Int. Una columna o variable de tipo int puede almacenar el rango de valores -231 a
231-1 .
BigInt. Una columna o variable de tipo bigint puede almacenar el rango de
valores -263 a 263-1 .
Decimal(p,s). Una columna de tipo decimal puede almacenar datos numéricos
decimales sin redondear. Donde p es la precisión (número total del dígitos) y s la
escala (número de valores decimales)
Float. Una columna de datos float puede almacenar el rango de valores -1,79x-
10308 a 1,79x-10308, , si la definimos con el valor máximo de precisión. La precisión
puede variar entre 1 y 53.
Real. Sinónimo de float(24). Puede almacenar el rango de valores -3,4x-1038
a 3,4x-1038,
Money. Almacena valores numéricos monetarios de -263 a 263-1, con una
precisión de hasta diez milésimas de la unidad monetaria.
SmallMoney. Almacena valores numéricos monetarios de -214.748,3647 a
214.748,3647, con una precisión de hasta diez milésimas de la unidad monetaria.
15. TIPOS DE DATOS DE CARÁCTER.
Char(n). Almacena n caracteres en formato ASCII, un byte por cada letra.
Cuando almacenamos datos en el tipo char, siempre se utilizan los n caracteres
indicados, incluso si la entrada de datos es inferior. Por ejemplo, si en un char(5),
guardamos el valor 'A', se almacena 'A ', ocupando los cinco bytes.
Varchar(n). Almacena n caracteres en formato ASCII, un byte por cada letra.
Cuando almacenamos datos en el tipo varchar, únicamente se utilizan los
caracteres necesarios, Por ejemplo, si en un varchar(255), guardamos el valor 'A',
se almacena 'A', ocupando solo un byte bytes.
Varchar(max). Igual que varchar, pero al declararse como Max puede almacenar
231-1 bytes.
Nchar(n). Almacena n caracteres en formato UNICODE, dos bytes por cada letra.
Es recomendable utilizar este tipo de datos cuando los valores que vayamos a
almacenar puedan pertenecer a diferente idiomas
Nvarchar(n). Almacena n caracteres en formato UNICODE, dos bytes por cada
letra. Es recomendable utilizar este tipo de datos cuando los valores que vayamos
a almacenar puedan pertenecer a diferente idiomas.
Nvarchar(max). Igual que varchar, pero al declararse como Max puede
almacenar 231-1 bytes.
16. TIPOS DE DATOS DE FECHA
Datetime. Almacena fechas con una precisión de milisegundo. Debe
usarse para fechas muy especificas.
SmallDatetime. Almacena fechas con una precisión de minuto, por lo
que ocupa la mitad de espacio de que el tipo datetime, para tablas
que puedan llegar a tener muchos datos es un factor a tener muy en
cuenta.
TimeStamp. Se utiliza para marcar un registro con la fecha de
inserción - actualización. El tipo timestamp se actualiza
automáticamente cada vez que insertamos o modificamos los datos.
17. TIPOS DE DATOS BINARIOS
Binary. Se utiliza para almacenar datos binarios de longitud fija,
con una longitud máxima de 8000 bytes.
Varbinary. Se utiliza para almacenar datos binarios de longitud
variable, con una longitud máxima de 8000 bytes. Es muy similar a
binary, salvo que varbinary utiliza menos espacio en disco.
Varbinary(max). Igual que varbinary, pero puede almacenar 231-
1 bytes
TIPO DE DATOS XML
XML. Una de las grandes mejoras que incorpora SQL Server 2005 es el soporte
nativo para XML. Como podemos deducir, este tipo de datos se utiliza para
almacenar XML.
18. LA INSTRUCCIÓN CREATE TABLE
Sintaxis:
CREATE TABLE nombre_tabla (
nombre_alumna1 tipo_dato1 [NULL | NOT NULL],
nombre_alumna2 tipo_dato1 [NULL | NOT NULL],
nombre_alumna3 tipo_dato1 [NULL | NOT NULL],
nombre_alumna4 tipo_dato1 [NULL | NOT NULL],
…….)
19. EJECUTAR LO SIGUIENTE
USE MASTER
go
CREATE DATABASE prueba
go
CREATE TABLE Curso(
idCurso CHAR(4) NOT NULL,
nombreCurso VARCHR(50) NOT NULL,
numVacantes SMALLINT NOT NULL,
numMatriculados SMALLINT NOT NULL,
profesor VARCHAR(50) NUL,
precioCurso MONEY NOT NULL)
go
20. EL PROCEDIMIENTO SP_HELP
Genera un reporte con información acerca de la definición
de un objeto de la base de datos activa. Todos los usuarios
de la base de datos pueden ejecutar este procedimiento.
SINTAXIS
SP_HELP nombre_objeto_basedatos
EJEMPLO
Sp_help Curso
go
21. CREACIÓN DE LA CLAVE PRIMARIA (PK)
Genera un reporte con información acerca de la definición
de un objeto de la base de datos activa. Todos los usuarios
de la base de datos pueden ejecutar este procedimiento.
SINTAXIS
ALTER TABLE nombre_tabla
ADD CONSTRAINT PK_nombre_tabla
PRIMARY KEY (alumnaX, columaP, …..)
EJEMPLO
ALTER TABLE Curso
ADD CONSTRAINT PK_Curso
PRIMARY KEY ( idCurso)
22. INSERTAR FILAS
INSERT INTO Curso(idCurso, nombreCurso, numVacantes,
numMatriculados, precioCurso, Profesor)
VALUES (‘PB1A’, ‘Power Builder Nivel I – Grupo A’, 15, 0,
150, ‘Sanchez Castillo Eddye Arturo’)
go
INSERT INTO Curso(idCurso, nombreCurso, numVacantes,
numMatriculados, precioCurso, Profesor)
VALUES (‘PB2A’, ‘MS Power Point 2007 Basico – Grupo A’,
15, 0, 150, ‘Zegarra Zavaleta Daniel’)
go