SQL Server - Relaciones

 
Vista:

Relaciones

Publicado por molek (8 intervenciones) el 08/11/2008 00:50:15
Buenos dias, estoy creando una base de datos con T-Sql en Sql server 2000. Ya terminé el diseño de la base de datos. Tengo el modelo relacional pero no se como implementarlo en SQl server, se como crear tablas,campos, claves primarias pero no se como se relaciona una tabla con otra. ¿es posible hacerlo?
Gracias por la ayudita. :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Relaciones

Publicado por Isaias (3308 intervenciones) el 08/11/2008 17:17:11
Se relacionan mediante CONSTRAINT de FOREIGN KEY, deberias consultar la estructura y ejemplos en tus libros en linea

CREATE TABLE
Name
CREATE TABLE -- Creates a new table.
Synopsis
CREATE [ TEMPORARY | TEMP ] TABLE table_name (
{ column_name type [ column_constraint [...] ] |
table_constraint }
[, ...]
)
[ INHERITS ( inherited_table [,...] ) ]

column_constraint ::=
[ CONSTRAINT column_constraint_name ]
{ NOT NULL | NULL | UNIQUE | PRIMARY KEY |
DEFAULT default_value |
CHECK (condition |
REFERENCES foreign_table [ ( foreign_column ) ]
[ MATCH FULL | MATCH PARTIAL ]
[ ON DELETE action ]
[ ON UPDATE action ]
[ DEFERRABLE | NOT DEFERRABLE ]
[ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
}

table constraint ::=
[ CONSTRAINT table_constraint_name ]
{ UNIQUE ( column_name [, ... ] ) |
PRIMARY KEY ( column_name [, ... ] ) |
CHECK ( condition ) |
FOREIGN KEY ( column_name [, ... ] )
REFERENCES foreign_table
[ ( foreign_column [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL ]
[ ON DELETE action ]
[ ON UPDATE action ]
[ DEFERRABLE | NOT DEFERRABLE ]
[ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
}

action ::= { NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relaciones

Publicado por molek (8 intervenciones) el 10/11/2008 17:09:25
buenos dias , para resolver este problema me serviria mejor un ejemplo por q todavia estoy muy crudo.

creé las 2 siguientes tablas:

-----------------------------------------------
create table tecnicos
(
cedula int not null primary key,
nombre nvarchar(50)null,
telefono nvarchar(15) null
)
go

create table requerimientos
(
idrequerimientos timestamp not null primary key,
horainicial datetime null,
horafinal datetime null,
requerimiento nvarchar(20) null,
tecnico int not null,
observaciones nvarchar(100) null,
cumplimiento binary not null,
idusuario nvarchar(30) not null,
tiporequerimiento nvarchar(20) null
)
go

------------------------------------------------

Necesito relacionar el campo cedula de la tabla tecnicos con el campo tecnico de la tabla requerimientos en una relacion de uno a muchos, que por lo menos se exija identidad referencial.
Muchas gracias por la colabora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relaciones

Publicado por Isaias (3308 intervenciones) el 12/11/2008 03:03:24
¿Cual es el problema?

SELECT a.*, b.*
FROM tecnicos a join requerimientos b
on a.cedula = b.tecnico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relaciones crea tablas y las relaciona

Publicado por molek (8 intervenciones) el 18/11/2008 16:19:34
Aunque puedes hacerlo de manera grafica usando el administrador corporativo
tambien puedes usar t_SQL.
Nota pa Isaias logre crear relaciones entre las tablas y al mismo tiempos las tablas asi, T-SQL:

use d@tapoint

-- crea la tabla usuarios y una clave principal
create table usuarios
(
idusuario nvarchar(30) not null primary key,
nombre nvarchar(50) null,
nombreoficina nvarchar(50) null,
numerooficina nvarchar(10) null,
extension nvarchar(7) null
)
go

--crea la tabla tecnicos y una clave principal
create table tecnicos
(
cedula int not null primary key,
nombre nvarchar(50)null,
telefono nvarchar(15) null
)
go
--crea la tabla requerimientos, una clave principal, 2 claves foraneas y relaciona las tablas requerimientos tecnicos,
--requerimientos usuarios.
create table requerimientos
(
idrequerimientos timestamp not null primary key,-- autonumerico
horainicial datetime null,
horafinal datetime null,
requerimiento nvarchar(20) null,
tecnico int not null foreign key references tecnicos (cedula)on delete no action on update no action,
observaciones nvarchar(100) null,
cumplimiento binary not null,
idusuario nvarchar(30) not null foreign key references usuarios(idusuario) on delete no action on update no action,
tiporequerimiento nvarchar(20) null
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relaciones

Publicado por Adriana (1 intervención) el 09/03/2009 04:18:09
axsxdc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar