Anda di halaman 1dari 12

Aporte al Trabajo Colaborativo No.

3
Camilo Arturo Ramrez Prez
CC. 6321865
Ingeniera de Sistemas
Bases de datos Distribuida.

2. De acuerdo al modelo relacional resultante elegido por el grupo, de la seleccin de un
problema de informacin que hemos venido trabajando a travs de todo el curso, cada
estudiante desarrollara e implementara la base de datos en el SGBD Microsoft SQL Server
2008 Express Edition, incluir por cada tabla que tenga por lo menos tres registros,
generara y enviara la copia o backup resultante (Archivo .BAK) de la base de datos al tema
Socializacin e Inquietudes Trabajo Colaborativo 1 del foro.
Diagrama de base de datos CLINICA.

Query para la creacin de las estructuras de la base de datos CLINICA.

CREATE TABLE ALERGIAS (
IDALERGIA INT NOT NULL,
ALERGIA VARCHAR(100) NOT NULL,
CONSTRAINT ALERGIAS_pk PRIMARY KEY (IDALERGIA)
)

CREATE TABLE ALERGIASPACIENTE (
IDALERGIASPACIENTE VARCHAR NOT NULL,
IDALERGIA INT NOT NULL,
NOTA VARCHAR(100) NOT NULL,
CONSTRAINT ALERGIASPACIENTE_pk PRIMARY KEY (IDALERGIASPACIENTE)
)

CREATE TABLE MEDICAMENTOS (
IDMEDICAMENTO INT NOT NULL,
MEDICAMENTO VARCHAR(100) NOT NULL,
CONSTRAINT MEDICAMENTOS_pk PRIMARY KEY (IDMEDICAMENTO)
)

CREATE TABLE MEDICAMENTOSPACIENTE (
IDMEDICAMENTOSPACIENTE INT NOT NULL,
IDMEDICAMENTO INT NOT NULL,
NOTA VARCHAR(100) NOT NULL,
CONSTRAINT MEDICAMENTOSPACIENTE_pk PRIMARY KEY (IDMEDICAMENTOSPACIENTE)
)

CREATE TABLE ENFERMEDADES (
IDENFERMEDAD INT NOT NULL,
ENFERMEDAD VARCHAR(100) NOT NULL,
CONSTRAINT ENFERMEDADES_pk PRIMARY KEY (IDENFERMEDAD)
)

CREATE TABLE ENFERMEDADESPACIENTE (
IDENFERMEDADESPACIENTE INT NOT NULL,
IDENFERMEDAD INT NOT NULL,
NOTA VARCHAR(100) NOT NULL,
CONSTRAINT ENFERMEDADESPACIENTE_pk PRIMARY KEY (IDENFERMEDADESPACIENTE)
)

CREATE TABLE PACIENTE (
CEDULA INT NOT NULL,
PNOMBRE VARCHAR(30) NOT NULL,
SNOMBRE VARCHAR(30) NOT NULL,
PAPELLIDO VARCHAR(30) NOT NULL,
SAPELLIDO VARCHAR(30) NOT NULL,
SEXO INT NOT NULL,
FNAC DATETIME NOT NULL,
COMPANIA VARCHAR(50) NOT NULL,
TCOMPANIA INT NOT NULL,
FREGISTROS DATETIME NOT NULL,
CONSTRAINT PACIENTE_pk PRIMARY KEY (CEDULA)
)

CREATE TABLE RECORD (
IDRECORD INT NOT NULL,
CEDULA INT NOT NULL,
FREGISTRO DATETIME NOT NULL,
CONSTRAINT RECORD_pk PRIMARY KEY (IDRECORD)
)

CREATE TABLE DETALLERECORD (
IDDETALLERECORD INT NOT NULL,
TRATAMIENTOMEDICO VARCHAR(100) NOT NULL,
IDRECORD INT NOT NULL,
IDMEDICAMENTOSPACIENTE INT NOT NULL,
IDENFERMEDADESPACIENTE INT NOT NULL,
IDALERGIASPACIENTE VARCHAR NOT NULL,
NOTA VARCHAR(100) NOT NULL,
FREGISTRO DATETIME NOT NULL,
CONSTRAINT DETALLERECORD_pk PRIMARY KEY (IDDETALLERECORD)
)

CREATE TABLE CITA (
IDCITA INT NOT NULL,
MOTIVO VARCHAR(100) NOT NULL,
FREGISTRO DATETIME NOT NULL,
FCITA DATETIME NOT NULL,
HCITA VARCHAR(10) NOT NULL,
NOTA VARCHAR(100) NOT NULL,
STATUS INT NOT NULL,
CEDULA INT NOT NULL,
CONSTRAINT CITA_pk PRIMARY KEY (IDCITA)
)

ALTER TABLE ALERGIASPACIENTE ADD CONSTRAINT ALERGIAS_ALERGIASPACIENTE_fk
FOREIGN KEY (IDALERGIA)
REFERENCES ALERGIAS (IDALERGIA)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE DETALLERECORD ADD CONSTRAINT ALERGIASPACIENTE_DETALLERECORD_fk
FOREIGN KEY (IDALERGIASPACIENTE)
REFERENCES ALERGIASPACIENTE (IDALERGIASPACIENTE)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE MEDICAMENTOSPACIENTE ADD CONSTRAINT MEDICAMENTOS_MEDICAMENTOSPACIENTE_fk
FOREIGN KEY (IDMEDICAMENTO)
REFERENCES MEDICAMENTOS (IDMEDICAMENTO)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE DETALLERECORD ADD CONSTRAINT MEDICAMENTOSPACIENTE_DETALLERECORD_fk
FOREIGN KEY (IDMEDICAMENTOSPACIENTE)
REFERENCES MEDICAMENTOSPACIENTE (IDMEDICAMENTOSPACIENTE)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE ENFERMEDADESPACIENTE ADD CONSTRAINT
ENFERMEDADES_ENFERMEDADESPACIENTE_fk
FOREIGN KEY (IDENFERMEDAD)
REFERENCES ENFERMEDADES (IDENFERMEDAD)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE DETALLERECORD ADD CONSTRAINT ENFERMEDADESPACIENTE_DETALLERECORD_fk
FOREIGN KEY (IDENFERMEDADESPACIENTE)
REFERENCES ENFERMEDADESPACIENTE (IDENFERMEDADESPACIENTE)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE CITA ADD CONSTRAINT PACIENTE_CITA_fk
FOREIGN KEY (CEDULA)
REFERENCES PACIENTE (CEDULA)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE RECORD ADD CONSTRAINT PACIENTE_RECORD_fk
FOREIGN KEY (CEDULA)
REFERENCES PACIENTE (CEDULA)
ON DELETE NO ACTION
ON UPDATE NO ACTION

ALTER TABLE DETALLERECORD ADD CONSTRAINT RECORD_DETALLERECORD_fk
FOREIGN KEY (IDRECORD)
REFERENCES RECORD (IDRECORD)
ON DELETE NO ACTION
ON UPDATE NO ACTION


Estructuras Creadas (SQL server Management Studio).


Validamos si la estructuras fueron creadas correctamente en Visual Studio .NET


3. El grupo debe plantear 10 sentencias hechas en lenguaje SQL donde se incluirn comandos
para insertar, modificar, consultar y eliminar datos, que puedan generarse en bases de
datos locales y esas sentencias sern consignadas en el documento final.
Insertamos registros a la base de datos.
TABLE ALERGIAS
INSERT INTO [Clinica].[dbo].[ALERGIAS]([IDALERGIA],[ALERGIA])
VALUES(1,'Electrosensibilidad') GO

INSERT INTO [Clinica].[dbo].[ALERGIAS]([IDALERGIA],[ALERGIA])
VALUES(2,'Hipersensibilidad al Frio') GO

INSERT INTO [Clinica].[dbo].[ALERGIAS]([IDALERGIA],[ALERGIA])
VALUES(3,'Urticaria acuagnica') GO

CONSULTAR DATOS DE LA TABLA ALERGIA

SELECT TOP 1000 [IDALERGIA],[ALERGIA] FROM [Clinica].[dbo].[ALERGIAS]



TABLE ENFERMEDADES.
INSERT INTO [Clinica].[dbo].[ENFERMEDADES]([IDENFERMEDAD]
,[ENFERMEDAD]) VALUES (1,'Anemia')GO

INSERT INTO [Clinica].[dbo].[ENFERMEDADES]([IDENFERMEDAD]
,[ENFERMEDAD]) VALUES (2,'Apendicitis')GO

INSERT INTO [Clinica].[dbo].[ENFERMEDADES]([IDENFERMEDAD]
,[ENFERMEDAD]) VALUES (3,'Artritis')GO




CONSULTAR DATOS DE LA TABLA ENFERMEDAD

SELECT TOP 1000 [IDENFERMEDAD],[ENFERMEDAD] FROM
[Clinica].[dbo].[ENFERMEDADES]




TABLA MEDICAMENTOS
INSERT INTO [Clinica].[dbo].[MEDICAMENTOS]([IDMEDICAMENTO]
,[MEDICAMENTO]) VALUES (1,'AMOXICILINA')GO

INSERT INTO [Clinica].[dbo].[MEDICAMENTOS] ([IDMEDICAMENTO]
,[MEDICAMENTO]) VALUES (2,'AMPICILINA')GO

INSERT INTO [Clinica].[dbo].[MEDICAMENTOS] ([IDMEDICAMENTO]
,[MEDICAMENTO]) VALUES (3,'CLORANFENICOL')GO

CONSULTAR DATOS DE LA TABLA MEDICAMENTOS

SELECT TOP 1000 [IDMEDICAMENTO] ,[MEDICAMENTO] FROM
[Clinica].[dbo].[MEDICAMENTOS]







ACTUALIZAR
TABLA ALERGIAS
UPDATE [Clinica].[dbo].[ALERGIAS]SET [ALERGIA] = 'ALERGIA AL POLEN'
WHERE [IDALERGIA] = 1 GO

UPDATE [Clinica].[dbo].[ALERGIAS] SET [ALERGIA] = 'ALERGIA AL MOHO'
WHERE [IDALERGIA] = 2 GO

CONSULTAR DATOS DE LA TABLA ALERGIA

SELECT TOP 1000 [IDALERGIA],[ALERGIA] FROM [Clinica].[dbo].[ALERGIAS]


TABLA ENFERMEDADES
UPDATE [Clinica].[dbo].[ENFERMEDADES] SET [ENFERMEDAD] = 'Hepatitis'
WHERE [IDENFERMEDAD] = 1 GO

UPDATE [Clinica].[dbo].[ENFERMEDADES] SET [ENFERMEDAD] = 'Varicela'
WHERE [IDENFERMEDAD] = 2 GO

CONSULTAR DATOS DE LA TABLA ALERGIA

SELECT TOP 1000 [IDENFERMEDAD],[ENFERMEDAD] FROM
[Clinica].[dbo].[ENFERMEDADES]





DELETE TABLE
DELETE FROM [Clinica].[dbo].[ALERGIAS] WHERE [IDALERGIA] = 1 GO



LISTAR DATOS.



4. El grupo debe plantear 10 sentencias hechas en lenguaje SQL donde se incluirn comandos
para insertar, modificar, consultar y eliminar datos, que puedan generarse en bases de
datos remotas y esas sentencias sern consignadas en el documento final.

Para esta prueba renombrare las bases de datos, a la base de datos del host virtual la
llamaremos ClinicaVirtual, a la base de datos del host fsico la llamaremos ClinicaFisica.
Iniciamos linkiando la base de datos del host Virtual para realizar las consultas distribuidas.
EXEC sp_addlinkedserver
@server='ESTACION',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='ESTACION\SQLEXPRESS'


Seleccionamos registros de la tabla ALERGIAS, realizando unin de ambas estructuras en
diferentes servidores.

SELECT *
FROM OPENQUERY(ESTACION, 'Select * From ClinicaVirtual.dbo.ALERGIAS')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ALERGIAS) ORDER BY
IDALERGIA



INSERCION DE DATOS EN LA TABLA ENFERMADADES.
INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (1,'DANAZOL')

INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (2,'DESLORATADINA')

INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (3,'DEXTROMETORFANO')
SELECCIONAMOS LOS REGISTROS DE AMBAS TABLAS ENFERMEDADES
SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD


UPDATE, ACTUALIZAMOS DATOS EN LA TABLA ENFERMEDADES.
UPDATE
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES
Where IDENFERMEDAD = 1')
SET ENFERMEDAD = 'GRIPE'

SELECCIONAMOS LA TABLA ENFERMEDADES
SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD


DELETE, BORRAMOS REGISTROS DE LA TABLA ENFERMEDAD.
DELETE
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES
Where
IDENFERMEDAD = 1')

SELECCIONAMOS LOS REGISTROS DE LA TABLA ENFERMEDADES.
SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD



QUERYS

EXEC sp_addlinkedserver
@server='ESTACION',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='ESTACION\SQLEXPRESS'

SELECT *
FROM OPENQUERY(ESTACION, 'Select * From ClinicaVirtual.dbo.ALERGIAS')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ALERGIAS) ORDER BY
IDALERGIA

INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (1,'DANAZOL')

INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (2,'DESLORATADINA')

INSERT
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES')
VALUES (3,'DEXTROMETORFANO')

SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD

UPDATE
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES
Where IDENFERMEDAD = 1')
SET ENFERMEDAD = 'GRIPE'

SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD

DELETE
OPENQUERY (ESTACION, 'Select * From ClinicaVirtual.dbo.ENFERMEDADES
Where
IDENFERMEDAD = 1')

SELECT *
FROM OPENQUERY(ESTACION, 'Select * From
ClinicaVirtual.dbo.ENFERMEDADES')
UNION ALL (SELECT * FROM ClinicaFisico.dbo.ENFERMEDADES) ORDER BY
IDENFERMEDAD

Anda mungkin juga menyukai