Может кто-нибудь сказать мне, что не так в моем коде в SQL Server Management Studio - PullRequest
0 голосов
/ 15 октября 2018

Я приложил диаграмму ER ниже.

Я пытаюсь создать таблицу и схему, но не могу, потому что у меня ошибка и я не могу создать связь на основе диаграммы.Я надеюсь, что кто-то может посмотреть на это.

Спасибо.

CREATE DATABASE [HOSPITAL]

CREATE TABLE [PERSONNEL]
(
    [Employee no] [int] NOT NULL,
    [Name] [VARCHAR] (50),
    [Gender] [VARCHAR] (60),
    [Address] [VARCHAR] (50),
    [Role] [VARCHAR] (10),
    [Salary] [numeric] (10,2),
)

CREATE TABLE [PHYSICIAN]
(
    [Employee no] [int] NOT NULL,
    [Specialty] [VARCHAR] (30),
    [Rank] [int],
)

CREATE TABLE [SURGEON]
(
    [Employee no] [int] NOT NULL,
    [Specialty] [VARCHAR] (30),
    [Skill] [VARCHAR] (20),
)

CREATE TABLE [MEDICATION]
(
    [Med Code] [VARCHAR] (10) NOT NULL,
    [Name] [VARCHAR] (30) NOT NULL,
    [List Price] [numeric] (10,2),
    [Classification] [VARCHAR] (30),
    [Manufacturer] [VARCHAR] (30),
)

CREATE TABLE [PATIENT]
(
    [Patient no] [VARCHAR] (10) NOT NULL,
    [Name] [VARCHAR] (50),
    [Gender] [VARCHAR] (10),
    [Birthdate] [date],
    [Blood type] [VARCHAR] (10),
    [Blood sugar] [numeric] (10,2),
    [Allergy_code] [VARCHAR] (10),
    [Allergy_name] [VARCHAR] (10),
    [Cholesterol] [numeric] (10,2),
    [Triglyceride] [numeric] (10,2),
    [LDL] [numeric] (5,2),
    [HDL] [numeric] (5,2),
)

CREATE TABLE [PRESCRIPTION]
(
    [Patient no] [VARCHAR] (10),
    [Med Code] [VARCHAR] (10),
    [Cost] [numeric] (10,2),
)

CREATE TABLE [DO_SURGERY]
(
    [Patient no] [VARCHAR] (10),
    [Theatre] [VARCHAR] (10),
    [Surg_date] [date],
)

CREATE TABLE PHYSICIAN_WRITES_MED
(
    [Employee no] [int],
    [Med Code] [VARCHAR] (10),
    [Dosage] [numeric] (10,2),
)

enter image description here

1 Ответ

0 голосов
/ 15 октября 2018

принудительное применение FK может быть легко выполнено с помощью сценариев, и эту часть я бы оставил на ваше усмотрение.Помимо очевидной ошибки в сценарии, на которую указывает Ник Мак.Не вижу ошибок, и вы легко сможете создавать свои таблицы.Если есть сомнения, создайте 1 таблицу за раз, а не F5: D

...