SQL, crear base,tablas,claves primarias y foraneas,ejemplo de consultas

En el siguiente post se muestran algunos ejemplos básicos de SQL, primero comenzaremos con definir que es SQL.

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.[share-to-unlock]

Ejemplo crear base de datos :

create database productos
use productos
create table cliente
(
cve_cliente int not null,
nombre varchar(30) not null,
direccion varchar(40) not null,
telefono varchar(12) not null
)
create table compra
(
cve_cliente int not null,
modelo int not null,
fecha_compra datetime not null,
precio money not null,
cantidad int not null
)
create table producto
(
modelo int not null,
marca varchar(20) not null,
tipo varchar(20) not null
)
create table pc
(
codigo int not null,
modelo int not null,
velocidad int not null,
ram int not null,
hd int not null,
cd varchar(3)not null,
precio money not null
)
create table impresora
(
codigo int not null,
modelo int not null,
color varchar(10) not null,
tipo varchar(20)not null,
precio money not null
)
create table laptop
(
codigo int not null,
modelo int not null,
velocidad int not null,
ram int not null,
hd int not null,
cd varchar(3)not null,
pantalla int not null,
precio money not null
)

Ahora vamos a crear las claves primarias : alter table NOMBREDELATABLA add constraint PK_clave

alter table cliente add constraint PK_cve_cliente

primary key(cve_cliente)

alter table compra add constraint PK_compra

primary key(fecha_compra)

alter table producto add constraint PK_producto

primary key(modelo)

alter table laptop add constraint PK_Laptop

primary key (codigo)

alter table pc add constraint PK_pc

primary key (codigo)

alter table impresora add constraint PK_impresora

primary key (codigo)

Creación de claves foraneas : alter table NOMBREDELATABLA add constraint FK_campo

alter table pc add constraint FK_pc

foreign key (modelo) references producto(modelo)

on delete cascade on update cascade

alter table impresora add constraint FK_impresora

foreign key (modelo) references producto(modelo)

on delete cascade on update cascade

alter table laptop add constraint FK_laptop

foreign key (modelo) references producto(modelo)

on delete cascade on update cascade

alter table compra add constraint PFK_compra

foreign key(cve_cliente) references cliente(cve_cliente)

alter table compra add constraint PFK_modelo

foreign key(modelo) references producto(modelo)

Agregando campos extra a las tablas : alter table NOMBRETABLA add nombreCampo tipo(varchar,int,blob,etc)

alter table cliente add ciudad varchar(15)

alter table cliente add rfc_cliente varchar(15)

Restringir campos :

alter table pc add constraint chk_precio_pc

check(precio>0)

alter table laptop add constraint ckek_precio_lap

check(precio>0)

alter table impresora add constraint check_precio_imp

check(precio>0)

Ejemplo de inserciones : insert into TABLA (campos)values(valores de los campos) o insert into TABLA values(valores)

insert into cliente values(1,’gordolfo gelatino’,’en su casa’,’2351032929′,’misantla’,’abc123′)
insert into cliente values(2,’satanas del angel’,’mas alla’,’2351032334′,’misantla’,’abc124′)
insert into cliente values(3,’pepus insasiable’,’por el cbtis’,’2351009822′,’misantla’,’abc125′)
insert into cliente values(4,’belzebu del angel’,’calle degollado’,’2356709822′,’misantla’,’abc126′)
insert into cliente values(5,’Memo Herdez’,’Palchan’,’2361009822′,’misantla’,’abc127′)

Cualquier duda y/o sugerencia es bien recibida.

[/share-to-unlock]

  • http://darkorbit.com Rodiz

    Ya no me acordaba de esto, me servira para desarrollo de so

    buen aporte

  • rodrigo rosas

    quien diria que tendria q repasar esto y mas en esta pagina XD

  • cualquiera

    siempre se pone esto en un llave foranea?: on delete cascade on update cascade