Database design 基本数据库关系

Database design 基本数据库关系,database-design,relational,Database Design,Relational,我最近开了一家旅行社,我需要一个数据库,但还没有钱让专业人士来做 在我能做得更好之前,我会做一件非常基本的事情 我们做从机场到酒店的“中转”服务和“旅游”,一切由我们安排 到目前为止,我想我需要客户,中转,旅游运营和预订表格 1) 客户将拥有通常的个人信息 2) 转机将包含诸如时间、航班号、机场等信息 3) 旅游运营是指我们为本次旅游安排的每一项活动,它看起来像日期/城市/描述(火车到、火车出、导游、入场费、出租车)/销售价格/净价/利润/供应商(例如谁提供导游,或哪家公司提供出租车服务) 4)

我最近开了一家旅行社,我需要一个数据库,但还没有钱让专业人士来做

在我能做得更好之前,我会做一件非常基本的事情

我们做从机场到酒店的“中转”服务和“旅游”,一切由我们安排

到目前为止,我想我需要
客户
中转
旅游运营
预订
表格

1) 客户将拥有通常的个人信息

2) 转机将包含诸如
时间
航班号
机场
等信息

3) 旅游运营是指我们为本次旅游安排的每一项活动,它看起来像
日期/城市/描述
(火车到、火车出、导游、入场费、出租车)/销售价格/净价/利润/供应商(例如谁提供导游,或哪家公司提供出租车服务)

4) 预订将是主表,并将包含

Booking No. | Date | Customer Name (Linked from the Customers table) | Type (Transfer or Tour) | Confirmed (Yes/No)| Invoice Sent (Yes/No)| Payment Received (Yes/No)
我不知道如何连接这些表。我试着查找一些东西,但我甚至不知道基本知识,需要别人的帮助,至少可以开始并掌握窍门

如果不太多,请帮帮我


谢谢大家!

下面是一个你可以做的例子:

客户

所有的顾客都会去哪里

  • id\u客户
    (自动递增):客户唯一id
  • 描述客户
    :客户名称
  • 状态
    :如果您想设置不同的状态,如
    1-活动、2-暂停、3-取消等
我在一个名为:
操作
的表格中加入了
巡演
转移

操作

在这里,您将使用其
客户
保存所有操作

  • id\u操作
    (自动递增):操作唯一id
  • id\u客户
    :客户唯一id.
    --表客户
  • desc_操作
    :操作说明
  • otype
    :操作类型<代码>--表格图书类型
  • odate
    :操作日期
操作类型

在此表中,您将添加所有类型的操作,如
传输
巡演

预订

所有的付款、跟踪和确认都将保存在哪里。(主表)

  • id\u book
    (自动递增):书本的唯一id
  • id\u操作
    :操作的唯一id
    ——表操作
  • b日期
    :图书日期
  • b类型
    :图书类型
    ——表格图书类型
  • 已确认
    :图书确认
  • 已发送发票
    :发票确认
  • 已发送付款
    :付款确认
书籍类型

如果您想保留不同类型的预订,这将非常有用

DDLs:

这些DDL和EER设计是在MySQL工作台上完成的

CREATE TABLE IF NOT EXISTS `mydb`.`Customer` (
  `id_customer` INT NOT NULL,
  `desc_customer` VARCHAR(45) NULL,
  `status` INT NULL,
  PRIMARY KEY (`id_customer`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`Operation` (
  `id_operation` INT NOT NULL,
  `id_customer` INT NULL,
  `desc_operation` VARCHAR(45) NULL,
  `otype` INT NULL,
  `odate` DATETIME NULL,
  PRIMARY KEY (`id_operation`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`OperationType` (
  `id_otype` INT NOT NULL,
  `desc_type` VARCHAR(75) NULL,
  `active` BIT(1) NULL,
  PRIMARY KEY (`id_otype`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`Booking` (
  `id_book` INT NOT NULL,
  `id_operation` INT NULL,
  `bdate` DATETIME NULL,
  `btype` INT NULL,
  `confirmed` BIT(1) NULL,
  `invoice_sent` BIT(1) NULL,
  `payment_sent` BIT(1) NULL,
  PRIMARY KEY (`id_book`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`BookType` (
  `id_btype` INT NOT NULL,
  `desc_btype` VARCHAR(45) NULL,
  PRIMARY KEY (`id_btype`))
ENGINE = InnoDB;