● 나의 최종목표는 재미있는 게임을 만드는 것이였지만 직접 개발하여 무엇인가를 만들어 보고 싶었기에 학기 중 프로젝트로 관광앱을 만들어보려고 하였으며 만든 앱을 통하여 경상남도 소프트웨어 공모전에 나가보고자 했다.

그때는 처음으로 협엽을 통한 앱 개발 프로젝트를 해보는 것이라 미숙한 점과 어려웠던 점이 많았는데 크게 두가지 정도 문제점을 살펴보자면 

1. 협업툴 사용의 미숙함 

github와 notion 자주 써보지 않아서 처음에 앱을 빌드하고 협업 기획을 하는 데 초반 2~4주차를 협업툴의 설정과 기획에 써야했다.

2. 소통의 부재 

카톡,디스코드 그리고 매주의 회의를 통해 소통을 통한 빠른 개발을 하려고 하였지만 생각만큼 소통이 원활하게 되지않았다. 

 이러한 문제점에서 협업툴같은 경우는 회의시간에 서로 가르쳐주며 맞춰나가면서 해결을 했는데 소통의 부재는 해결법을 찾기가 어려웠다. 학기 중에 앱 개발을 마쳐야하는 프로젝트였기에 팀장은 아니였지만 팀장과 함께 팀원들과 계속 소통하려고 노력하였으며 안되더라도 나의 개발할 부분을 최대한 빨리 끝내두고 안된 팀원의 부분을 돕거나 코드를 보고 필요하거나 더 개발할 부분을 개발하였다.

  진행이 늦어지면서 처음 생각했던 기능들에서 구현 못한 부분이 많았지만 핵심기능인 길찾기 기능과 다익스트라 알고리즘을 사용한 관광 경유지 추천기능을 완성할 수 있었다. 

 

'Project > 경남드리' 카테고리의 다른 글

[Android][JAVA]3장. 부가기능  (0) 2023.11.04
[Android][JAVA]2장. 경남드리  (0) 2023.10.18
1장. 학기에서 공모전으로  (4) 2023.10.17

■데이터 모델링

테이블간의 관계를 표현하고 설계하는 것

●추상화

현실세계에 있는 데이터를 컴퓨터세계에 데이터베이스로 만들때 필요한 것으로

객체의 속성 중 가장 중요한 것에만 중점을 두어 줄여서 표현하는것이다.

설계 과정

1. 요구사항 수집 및 분석

2. 개념적 모델링

3. 논리적 모델링

4. 물리적 모델링

5. 데이터베이스 구현

 

'Database > 이론' 카테고리의 다른 글

데이터베이스 2강  (0) 2023.04.29
데이터베이스 1강  (0) 2023.04.20

※관계 데이터 모델

■용어 설명

릴레이션 관계 스키마(내포) 인스턴스(외연) 도메인 차수 카디날리티
행과 열로 구성된 테이블 릴레이션과 데이터 , 릴레이션과 릴레이션의 관계 속성,특징  데이터,내용 속성이 가질 수 있는 값 속성의 개수 튜플의 수 

 

 

■릴레이션의 특징

●속성

1.속성은 하나씩만 있어야하며

2.서로 다른 이름,

3.한 속성에서는 같은 도메인값(자료형)

4.순서는 상관없다.

●투플

1.중복은 허용하지 않는다

2.순서는 상관없다

 

 

 

■키

데이터베이스에서 키는 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합이다.

●슈퍼키

투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합

●후보키 

투플을 유일하게 식별할 수 있는 최소의 집합

●기본키

여러 후보키 중 하나를 선정하여 대표로 삼는 키

※기본키 선정 시 고려사항

1.릴레이션 내 투플을 식별할 수 있는 고유한 값을 가져야함

2.NULL 값은 허용하지 않음

●대리키

마땅한 기본키가 없을 때 일련번호 같은 가상의 속성을 만들어 기본키로 만드는것 

인조키라고 함

●대체키 

기본키로 선정되지않은 후보키

●외래키

관계에 사용, 다른 테이블의 기본키를 참조하는키

※외래키 선정시 고려사항

1.도메인 같아야하고 참조되는 값이 변하면 참조하는 값도 변해야한다.

2.NULL값이 들어가도 되며,중복이 가능하고, 자기자신을 참조할 수 있으며 기본키의 일부도 가능하다.

■데이터무결성

●도메인 무결성 제약조건

투플이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건

●개체 무결성 제약조건

기본키 제약조건

●참조 무결성 제약조건

자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 하며, 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다는 것

->삭제나 수정시 부모 릴레이션과 자식 릴레이션 모두 영향이 있다

■관계대수

어떻게 질의를 수행하는가 -> 절차적인 언어

●관계대수식

연산자<조건> 릴레이

●관계대수 연산자

SELECT δ(시그마) δ<조건>(R) 조건 선택
PROJECT π(파이) π<리스트>(R) 속성 별 리스트 가져오기
JOIN ⋈(보타이) R⋈<조건>S 조건에 맞는 두 릴레이션 가져오기
DIVISION ÷(나누기) R÷S S에 해당하는 값을 가지고 있는 행가져오기

●각 연산 및 연산별 차수/ 카디널리티 변화

  ●합집합

중복제거 후 두 릴레이션을 합침

->연산 후 차수가 같지만 카디널리티는 같거나 작다.

  ●교집합

두 릴레이션이 공통으로 가지고 있는 것을 보여줌

->연산 후 차수는 같고 카디널리티는 두 릴레이션의 어느것 보다 크지않다

  ●차집합

두 릴레이션에서 겹치지않는 부분 보여줌

->연산 후 차수는 같다 

-> 카디널리티 R-S일경우는 R과 같거나 작고 S-R이면 S와 같거나 작다.

  ●카티션프로덕트

->전체x전체 연산

->연산 후 두 릴레이션의 차수를 더한게 차수이고 카디널리티는 두 릴레이션의 카디널리티의 곱이다.

■조인연산

두 릴레이션의 공통 속성을 기준으로 속성 값이 같은 투플을 수평으로 결합하는 연산

R⋈<조건>S

->동등조인 조건에서 =연산자를 사용한 조인 

   ●자연조인

동등조인에서 중복되는 값을 제외한 연산

R⋈N<조건>S

  ●외부조인선이 있는 쪽에 있는값 모두 출력(상대 릴레이션이랑 맞췄을 때 NULL값이여도 출력)

'Database > 이론' 카테고리의 다른 글

데이터베이스3강  (1) 2023.05.01
데이터베이스 1강  (0) 2023.04.20

1. 데이터, 정보, 지식

데이터= 값

정보= 데이터 + 의미

지식-> 정보 + 사물이나 현상에 대한 이해

2. 데이터베이스

데이터베이스란 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한

운영데이터의 집합

=>데이터베이스의 개념

1. 통합된 데이터

2. 저장된 데이터

3. 운영 데이터

4. 공용 데이터

 

■데이터 베이스의 특징

1. 실시간 접근성 

2. 계속적인 변화

3. 동시공유 

4. 내용에 따른 참조 

 

※ 파일 시스템 vs 데이터베이스 시스템

파일 단위로 데이터 관리(word, exel) DBMS로 데이터관리
파일을 직접 다루기 때문에 데이터의 일관성이 훼손될 수 있음 응용프로그램이 DBMS에 파일 접근을 요청

 파일시스템은 데이터가 바뀌면 다시 컴파일해야하고 하나 하나 다 수정해야하는데 이럴 경우 수정이 안된 파일이 있을 수 있다.

DBMS 장점

1. 데이터 중복 최소화

2. 데이터 일관성 유지

3. 데이터 독립성 유지

 

■데이터베이스 구성

데이터 베이스는 스키마로 구성된다.

※스키마 => 개념스키마, 외부스키마, 내부스키마 => 전체적인 구조

※개념스키마

  데이터베이스의 전체적인 구조

●외부스키마

  사용자가 데이터베이스를 사용할 때 상호작용하는 부분

●내부스키마

  데이터가 데이터베이스에 어떻게 저장되는지 

●외부 / 개념 매핑

  데이터가 매핑 될때는 가상 테이블로 매핑된다.

■논리적, 물리적 데이터 독립성

  ●논리적 데이터 독립성

외부스키마 - 개념 스키마 사이의 독립성

개념 스키마가 변경되어도 외부 스키마(응용 프로그램)에는 영향을 미치지 않도록 하는것

  ●물리적 데이터 독립성

개념스키마- 내부 스키마 사이의 독립성

저장장치 구조 변경과 같은 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 하는것

'Database > 이론' 카테고리의 다른 글

데이터베이스3강  (1) 2023.05.01
데이터베이스 2강  (0) 2023.04.29

1. 오라클 19c 설치 

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

2. 압축을 푼 후 setup.exe 실행 

실습할 데이터베이스에 해당하는 아이디 생성후 마침

 

3. sql Developer 설치 

https://www.oracle.com/database/sqldeveloper/technologies/download/

 

Oracle SQL Developer Downloads

This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Oracle Java JDK. You will need to install it if it's not already

www.oracle.com

 

1. 깃허브에 파일 올리기

       *git add url

       *git push origin 브랜치이름

       *git remote add origin [원격저장소 주소]

안될경우

       *git push origin +브랜치이름 

       *git reset HEAD add 해둔거 다 삭제

 

 

+ Recent posts