Post on 25-Jan-2016
SQL Server 2012
Creación de Bases de Datos
Contenido Almacenamiento de la data Creando una Base de Datos Creando Tablas
Tipos de Datos Valores Nulos Valores Autoincrementables Restricciones
La sentencia Create Table
Objetivos Crear, modificar y eliminar bases
de datos Crear, modificar y eliminar tablas Diseñar base de datos
Almacenamiento de la data
Extent (8 pages continuos)
Page (8 KB)
Tablas,Indices
Data
DatabaseDatabase
Data (file).mdf or .ndf
Data (file).mdf or .ndf
Log (file).ldf
Log (file).ldf
Responda
1 MB es igual a ............ páginas. 2 MB es igual a ............ extents. 4 MB es igual a ............ páginas. 2560 páginas es igual a ............
MB. 320 extents es igual a ............
MB.
Creando una Base de Datos
La sentencia Create Database La sentencia Alter Database La sentencia Drop Database El diálogo New Database
Create Database
CREATE DATABASE sampleON PRIMARY ( NAME=sample_data, FILENAME='c:\sample.mdf', SIZE=10MB, MAXSIZE=15MB, FILEGROWTH=20%) LOG ON ( NAME=sample_log, FILENAME='c:\sample.ldf', SIZE=3MB, MAXSIZE=5MB, FILEGROWTH=1MB)
CREATE DATABASE sampleON PRIMARY ( NAME=sample_data, FILENAME='c:\sample.mdf', SIZE=10MB, MAXSIZE=15MB, FILEGROWTH=20%) LOG ON ( NAME=sample_log, FILENAME='c:\sample.ldf', SIZE=3MB, MAXSIZE=5MB, FILEGROWTH=1MB)
Ejemplo
CREATE DATABASE Prueba
ON
PRIMARY ( NAME=PruebaData,
FILENAME='c:\data\PruebaData.mdf',
SIZE=10MB, MAXSIZE=15MB, FILEGROWTH=20% )
LOG ON
( NAME=PruebaLog, FILENAME='c:\data\PruebaLog.ldf',
SIZE=3MB, MAXSIZE=5MB, FILEGROWTH=1MB )
CREATE DATABASE Prueba
ON
PRIMARY ( NAME=PruebaData,
FILENAME='c:\data\PruebaData.mdf',
SIZE=10MB, MAXSIZE=15MB, FILEGROWTH=20% )
LOG ON
( NAME=PruebaLog, FILENAME='c:\data\PruebaLog.ldf',
SIZE=3MB, MAXSIZE=5MB, FILEGROWTH=1MB )
Alter Database
7 MB7 MB
3 MB3 MB
ALTER DATABASE sample MODIFY FILE ( NAME = 'sample_log', SIZE = 10MB)
ALTER DATABASE sample MODIFY FILE ( NAME = 'sample_log', SIZE = 10MB)
Drop Database
Drop Database PruebaDrop Database Prueba
Drop Database Prueba, PubsDrop Database Prueba, Pubs
Creando Tablas Tipos de Datos Creando nuevos tipos de datos Valores Nulos Valores Autoincrementables Restricciones La sentencia Create Table La sentencia Alter Table La sentencia Drop Table
Tipos de Datos
Binarios binary[(n)], varbinary[(n)]Caracteres char[(n)], varchar[(n)]Fecha y hora datetime, smalldatetimeNúmeros exactos decimal[(p[,s])], numeric[(p[,s])]Números aproximados float[(n)], realEnteros Int, smallint, tinyintMonetario money, smallmoneyEspecial bit, timestamp, def. por usuarioTexto e imagen text, image
Creando nuevos tipos de datos
EliminadoEliminado
CreandoCreando
EXEC sp_addtype isbn, 'smallint’, 'NOT NULL' EXEC sp_addtype zipcode, 'char(10)' EXEC sp_addtype longstring, 'varchar(63)'
EXEC sp_addtype isbn, 'smallint’, 'NOT NULL' EXEC sp_addtype zipcode, 'char(10)' EXEC sp_addtype longstring, 'varchar(63)'
EXEC sp_droptype isbn EXEC sp_droptype isbn
Valores Nulos
Después de definir el nombre y tipo de campo se puede indicar que este pueda aceptar o no valores nulos.
id_Alumno char(4) NOT NULL, Telefono char(7) NULL
Valores Autoincrementables
Si se especifica IDENTITY para un campo, entoces cada vez que se añada una nueva columna se incrementará automáticamente el contenido de ese campo.id_Producto int Identity(100, 5)id_Producto int Identity(100, 5)
La primera vez el campo id_Producto tendrá el valor 100. Para las siguientes filas será 105, 110, 115, ....
Restricciones Se usan para especificar
condiciones de integridad referencial.
Constraint PK_Alumno Primary Key(id_Alumno)Constraint PK_Alumno Primary Key(id_Alumno)
Constraint FK_Alumno Foreign Key(id_Alumno) References AlumnosConstraint FK_Alumno Foreign Key(id_Alumno) References Alumnos
Se ha creado una llave primaria (PK_Alumno) con respecto a la columna id_Alumno de la tabla.
Se ha creado una llave primaria (PK_Alumno) con respecto a la columna id_Alumno de la tabla.
Se ha creado una llave foránea (FK_Alumno) con respecto a la columna id_Alumno de la tabla actual, vinculada a la tabla Alumnos.
Se ha creado una llave foránea (FK_Alumno) con respecto a la columna id_Alumno de la tabla actual, vinculada a la tabla Alumnos.
La sentencia Create Table
Nombre de columnaNombre de columnaNombre de columnaNombre de columna Tipo de datoTipo de datoTipo de datoTipo de dato NULL o NOT NULLNULL o NOT NULLNULL o NOT NULLNULL o NOT NULL
CREATE TABLE member(member_nolastnamefirstnamemiddleinitialphotograph)
CREATE TABLE member(member_nolastnamefirstnamemiddleinitialphotograph)
member_noshortstringshortstringletterimage
member_noshortstringshortstringletterimage
NOT NULL,NOT NULL,NOT NULL,NULL,NULL
NOT NULL,NOT NULL,NOT NULL,NULL,NULL
La sentencia Alter TableALTER TABLE sales ADD customer_name char(30) null
ALTER TABLE sales ADD customer_name char(30) null
ADD
ALTER TABLE sales DROP COLUMN sales_date
ALTER TABLE sales DROP COLUMN sales_date
DROP
CommissionCommission Sales_amountSales_amount Sales_dateSales_date Customer IDCustomer ID Customer_nameCustomer_name
La sentencia Alter Table
Alter Table AlumnosAdd
Constraint PK_Alumno Primary Key(id_Alumno)
Alter Table AlumnosAdd
Constraint PK_Alumno Primary Key(id_Alumno)
La sentencia Drop Table
Drop Table AlumnosDrop Table Alumnos
Elimina una tabla. Si se tienen tablas relacionadas.
Primero deben ser eliminadas las foráneas y luego la primaria.
Ejercicio 1:
Crear las siguientes tablas
Ejercicio 2: Crear las siguientes tablas
Ejercicio 3: Crear las siguientes tablas