使用SQL将UPR页面放入一组表中

时间:2012-11-15 15:45:33

标签: sql database relational-database oracle-sqldeveloper

我试图将UPR页面放入数据库的一组表中,到目前为止我已经提出了以下表格

  • UPR: 码, 名称, 结构, 附录, 文献
  • 结构: STR_NAME, STR_CODE
  • 附录: APP_NAME, App_Code文件
  • 文献: DOC_NAME, DOC_CODE

这些表将用于存储UPR的每个部分我怎么会遇到麻烦,试图找出如何将所有表连接起来以便它们将一起工作并且有一种拉动方式一个UPR代码的所有相关附录,文件和结构。我有一种感觉,我可能会在这里失明,但看不出这样做的方法,任何帮助都会非常感激。非常感谢。

1 个答案:

答案 0 :(得分:0)

CREATE TABLE UPR
(
    CODE  NUMBER(9) NOT NULL,
    NAME  VARCHAR2(50)
)
;


ALTER TABLE UPR ADD CONSTRAINT PK_UPR 
    PRIMARY KEY (CODE) 
 USING INDEX 
;

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

CREATE TABLE STRUCTURES
(
    ID        NUMBER(9) NOT NULL,
    UPR       NUMBER(9) NOT NULL,
    SEQUENCE  NUMBER(9) NOT NULL,
    NAME      VARCHAR2(50) NOT NULL
)
;


ALTER TABLE STRUCTURES ADD CONSTRAINT PK_STRUCTURES 
    PRIMARY KEY (ID) 
 USING INDEX 
;

ALTER TABLE STRUCTURES ADD CONSTRAINT FK_STRUCTURES_UPR 
    FOREIGN KEY (UPR) REFERENCES UPR (CODE)
;

“附录”和“文档”的结构将遵循与“结构”相同的模式。

这有帮助吗?

修改

要构建完整的UPR,您可以执行类似

的操作
SELECT S.NAME, D.SEQUENCE FROM STRUCTURES S WHERE CODE = :SomeCode
UNION SELECT A.NAME, D.SEQUENCE FROM APPENDIX A WHERE A.UPR = S.CODE
UNION SELECT D.NAME, D.SEQUENCE FROM DOCUMENT D WHERE D.UPR = S.CODE
ORDER BY 2 
顺便问一下?什么是普遍定期审议? :)