Skip to content

Commit

Permalink
merge eredit java
Browse files Browse the repository at this point in the history
  • Loading branch information
ryujaehun committed Dec 14, 2017
1 parent fa23bbd commit e934ddf
Show file tree
Hide file tree
Showing 124 changed files with 6,828 additions and 35 deletions.
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
2013104057 김석원 https://github.com/paul123k

2013103902 류재훈 https://github.com/ryujaehun

2011104050 정재홍 https://github.com/jjh5902
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License
The MIT License (MIT)

Copyright (c) 2017 Ryujaehun
Copyright (c) 2017 류재훈

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
174 changes: 141 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,152 @@
# DB
___
# ER 다이어그램(Recursive ER)
___
## about
어플리케이션을 제작하기 위해서 데이터의 저장 및 관리를 담당하는 데이터베이스의 사용 및 관리는 필수적이다. 그러나 이와같은 데이터베이스의 관리 만큼 데이터베이스의 설계를 정교하게 하는 것 또한 중요하다. 우리는 데이터베이스의 설계를 위해 릴레이션의 ER다이어그램을 그리게 되는데 주로 draw.io를 활용하여 데이터 베이스를 설계한다. 하지만 Draw.io는 입문자가 데이터베이스를 설계하기에는 불필요한 기능이 많고 웹기반이기 때문에 오프라인에서 사용하기 힘들다. 이에 우리는 Draw.io의 단점을 개선하고, 데이터 베이스 설계를 처음 입문 하는 사람들을 위해 간단히 모델링 가능하고, 데이터 베이스 설계 능력을 향상시킬 수 있는 모델링 툴을 만들기로 했다.

## About
This is CSE30500 DataBase TermProject
## 설치 가이드

## 사용기술 및 언어
* 생산성이 높은 **C#**을 이용
* ~~C++~~
* ~~MFC~~
* ~~ODBC~~
* ~~RDBMS~~
1. 티베로를 가동한다음 tbadmin에 접속한다.
1. 아래의 쿼리문을 이용하여 ER user 문을 추가한다.
1. tool/import에서 [.dat](resources/RecursiveER.dat) 파일을 import한다.(resources파일 내의 RecursiveER.dat를 실행한다.)
1. 이클립스에서 JDBC를 추가한 후에 실행한다.

## 주제
* ER 다이어그램 생성기
### .dat 파일 오류시 대처
* [script](resources/script.sql)을 실행한다.

## 기능
* ER diagram 생성
* 저장 및 불러오기
* ER diagram 문제

## TODO
* ~~주제선정~~
* ~~데이터 범위 확정~~ 
* 설계
* ER 다이어그램
* 스키마 확정
* 개발
* GUI 개발(~~일단 MFC 로 안되면 QT~~)(C#으로 변경)
* DATABASE 연동(local DB로 변경)
### user ER addition

```
CREATE user ER IDENTIFIED BY tibero DEFAULT TABLESPACE USR;
GRANT CONNECT, RESOURCE TO ER;
```

## Requirement
* VS2017
* .NET
* ~~MFC~~
### Tibero JDBC 추가 방법

## References
[google drive](https://drive.google.com/drive/folders/1N_61gpGlV2PGs8QAv2PP6bVF8ojeiQWc?usp=sharing)
1. 자바 프로젝트 우클릭
1. Build Path
1. Configure Build Path
1. Libraries 탭
1. Add External JARs
1. Tibero JDBC 확인

## LICENCE
![MIT LICENCE](LICENCE)

### 인코딩 오류시 대처

1. ER-Editor 프로젝트 마우스 오른쪽 클릭
1. Properties클릭
1. Resource에서 에서 Text file encoding 에서 Other UTF-8


## usage
___

### 엔티티

1.엔티티 추가
* 엔티티는 다음과 같은 방법으로 추가 가능하다.
1. 더블클릭
1. 단축키(Ctrl+Shift+E)
1. 메뉴(Model)

2.엔티티 조작
* 엔티티는 드래그로 이동이 가능하다.
* 클릭을 통하여 다음과 같이 엔티티를 조작할 수 있다.
1. 이름부여
1. 에트리뷰트 추가 및 이름 수정
1. 약한 엔티티로의 변경

3.엔티티 삭제
* 엔티티는 delete버튼을 통하여 삭제가 가능하다.

![](images/attribute_add.PNG)

### 릴레이션

1.릴레이션 추가
* 릴레이션는 다음과 같은 방법으로 추가 가능하다.
1. 릴레이션을 형성 하고자 하는 엔티티 더블클릭
1. 단축키(Ctrl+Shift+R)
1. 메뉴(Model)

2.릴레이션 조작
* 클릭을 통하여 다음과 같이 릴레이션를 조작할 수 있다.
1. 이름부여
1. 연결된 카디날리티의 수 변경
1. 약한 릴레이션으로의 변경

3.릴레이션 삭제
* 릴레이션은 delete버튼을 통하여 삭제가 가능하다.

### 저장

* 저장은 다음과 같은 형식을 가능하다.
1. 자체적인 포멧
1. 이미지 포멧(png,jpeg등)
1. sql 포멧

![](images/relation_add.PNG)

### 퀴즈

![](images/quiz.PNG)

* 퀴즈는 메뉴를 통해 실행 가능하다.
* 문제를 보고 상황에 맞게 다이어그램을 추가한 후 채점 버튼을 누르면 정답의 비율을 알려준다.

### menu structure

* File
* New ER diagram(Ctrl+N)
* Load quiz 1(Ctrl+Q)
* Save & export
* Save as ERD &
* Save as image(jpeg,png...)
* Save to database
* Open (Ctrl+O)
* Close (Ctrl+W)

* Edit
* Undo(Ctrl+Z)
* Redo(Ctrl+Shift+N)
* Cut(Ctrl+X)
* Copy(Ctrl+C)
* Paste (Ctrl+V)
* Select All(Ctrl+A)
* Delete (Delete)

* Model
* Add Entity (Ctrl+Shift+E)
* Add Relationship (Ctrl+Shift+R)
* Add Description Box (Ctrl+Shift+R)

* View
*Original size (Ctrl+0)
* Zoom In (Ctrl+Minus)
* Zoom Out (Ctrl+Plus)
* Compress (Ctrl+Shift+Minus)
* Expand (Ctrl+Shift+Plus)

* Help
* Show Help
* About



## database structure

![](images/DB_schema.PNG)




## requirement
* java
* tibero(oracle호환)
* tibero jdbc

## references

[ER-Editor](https://github.com/palle-k/ER-Editor)

## [LICENSE](LICENSE)
7 changes: 7 additions & 0 deletions code/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="C:/Users/lujae/Desktop/tibero6-jdbc.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
5 changes: 5 additions & 0 deletions code/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
build/
out/
.idea/
ER-Editor.iml
/bin/
17 changes: 17 additions & 0 deletions code/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ER-Editor</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
2 changes: 2 additions & 0 deletions code/.settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
49 changes: 49 additions & 0 deletions code/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!--
Copyright (c) 2016 - 2017 Palle Klewitz
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Usage instructions:
Clean:
ant clean
Build:
ant compile
Bundle as Jarfile:
ant jar
Run:
ant run
-->
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/class"/>
<javac srcdir="src" destdir="build/class">
</javac>
<copy todir="build/class">
<fileset dir="src" includes="**/*.properties"/>
<fileset dir="src" includes="**/*.png"/>
<fileset dir="src" includes="**/*.html"/>
</copy>
</target>
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/ER-Editor.jar" basedir="build/class">
<manifest>
<attribute name="ER_editor" value="main"/>
<attribute name="Main-Class" value="ER_Editor"/>
</manifest>
</jar>
</target>
<target name="run">
<java jar="build/jar/ER-Editor.jar" fork="true"/>
</target>
</project>
Loading

0 comments on commit e934ddf

Please sign in to comment.