SQL Server 2012 Creación de Bases de Datos Contenido Almacenamiento de la data Creando una Base de...

Post on 25-Jan-2016

225 views 0 download

Transcript of SQL Server 2012 Creación de Bases de Datos Contenido Almacenamiento de la data Creando una Base de...

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