반응형

[IT] 31

[Database] 데이터베이스 정규화(Normalization)란? (정규화의 목적, 과정, 이상현상, 1NF ~ 3NF)

정규화의 사전적 의미를 살펴보면, 어떤 대상을 일정한 규칙이나 기준에 따르는 ‘정규적인’ 상태로 바꾸거나, 비정상적인 대상을 정상적으로 되돌리는 과정을 뜻한다. - 위키백과 - 그럼, 데이터베이스에서 정규화란 무엇을 의미할까? 1. 데이터베이스 정규화(Normalization)란? : 기본 목표는 테이블 간의 데이터 중복을 허용하지 않는다는 것이다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법으로 속성들끼리의 종속 관계를 분석하여 여러개의 관계(Relation)로 데이터를 분해하는 것을 의미한다. 2. 정규화의 목적 1) 불필요한 데이터를 제거해 불필요한 중복을 최소화하기 위함. 2) 데이터베이스 구조 확장시 재디자인을 최소화하기 위함 3) 다양한 관점에서의 Query를 ..

[IT]/Database 2021.12.08

[Design Pattern] MVC패턴이란? (Model-View-Controller) |(Model1, Model2 비교)

MVC(Model - View - Controller) : 어플리케이션을 세 개의 영역으로 나누고, 각 구성요소에 고유한 역할을 두는 개발 방식이다. MVC 패턴을 잘 사용하면, 사용자의 인터페이스로부터 비즈니스 로직을 분리하여 어플리케이션의 시각적 요소나, 다른 비즈니스 로직에 서로 영향없이 쉽게 수정가능한 어플리케이션을 개발 할 수 있다. 1. MVC 패턴 구조 - 모델(Model) : 어플리케이션이 무엇을 할 것인지 정의한다. 즉, 내부 비즈니스 로직을 처리하기 위한 역할을 하며 DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룬다. - 뷰 (View) : Model이 가진 데이터를 화면에 보여주기 위한 역할을 한다. - 컨트롤러 (Controller) : Model과 View..

[IT]/Design Pattern 2021.12.08

[Database][Oracle] Windows Oracle 11g 다운로드 및 SQL Developer 설치하기 (Oracle 8080 포트 변경 방법)

이 글에서는 Oracle 11g Express Edition 버전과 SQL Developer 설치방법을 소개한다. Oracle 11g Express Edition 설치하기 1. 아래 주소에서 OS에 맞는 11g Release 2 Express Edition을 클릭 https://www.oracle.com/database/technologies/xe-prior-release-downloads.html 2. 다운받은 압축 파일 해제 후, OracleXE112_Win64\DISK1 경로로 이동하여 setup.exe 실행프로그램을 클릭하여 설치 진행 2-1) Next 2-2) 동의 후, Next 2-3) 설치 위치 지정 후, Next (본인은 기본 경로로 설정했다.) 2-4) 기본 포트 유지 후, Next 처음..

[IT]/Database 2021.11.28

[Spring][Lombok] STS3에 Lombok 라이브러리 설치 및 적용하기 (Windows)

Lombok 라이브러리 설치하기 : 없어도 되지만, Lombok을 이용하면 Java 개발 시 자주하용하는 getter/setter, toString(), 생성자 등을 자동으로 생성해주므로 편리하다. Lombok 설치 버전 : 1.18.22 (2021.11 기준) 1) 설치 URL : https://projectlombok.org/download 2) 다운로드 된 위치에서 cmd(명령 프롬포트) 창 실행 후, 아래 명령어로 실행 java -jar lombok.jar 3) 명령어 입력 후, Enter -> Installer 실행 됨 4) IDEs 목록에 사용하는 STS(eclipse)를 선택 후, Install / Update 버튼 클릭 (없으면 Specify location으로 직접 위치를 지정) 5) 설..

[IT]/Spring 2021.11.21

[JAVA] Window10 JAVA 환경 변수 설정하기 (환경 변수 설정 이유)

먼저, 환경 변수를 설정하는 이유에 대해 알아본다. 환경변수란?' : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값등의 모임 운영체제가 프로그램을 실행하기 위해 참조하는 변수를 찾기 쉽게 미리 설정하는 것이라 이해하면 쉽다. 이제, JAVA 환경변수를 설정해보자. (환경변수 설정 이전에 JDK 다운로드 먼저 진행해야 합니다. JDK 설치방법은 여기를 참고하세요.) 1. 제어판 > 시스템 및 보안 클릭 2. 시스템 > 정보 (아래로 스크롤) > 고급 시스템 설정 클릭 3. 고급 탭 > 환경 변수 > 시스템 변수 - 새로만들기 클릭 4. 시스템 변수 편집 (새로 만들기) 변수 이름 : JAVA_HOME 변수 값 : 본인 JDK 설치 폴더 (C:\Program Files\Java\jdk1.8..

[IT]/JAVA 2021.11.18

[Database][MySQL] JAVA 연동을 위한 MySQL JDBC Connecter 설치 및 적용하기

MySQL-JAVA 연동을 위한 MySQL JDBC Connecter 설치 및 적용하는 방법을 소개한다. 먼저, 설치에 앞서 JDBC가 뭔지 간단하게 알아보자. 1. JDBC(Java Database Connectivity)란? : 자바를 통해 데이터베이스에 접속하고 사용(SQL 수행 등)하기 위한 방법과 절차에 대한 규약 JAVA는 표준 인터페이스인 JDBC API를 제공한다. 2. JDBC Connecter 설치하기 설치 URL : https://dev.mysql.com/downloads/connector/j MySQL :: Download Connector/J MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7..

[IT]/Database 2021.10.31

[HTTP] HTTP의 구조 및 특징

1. HTTP 란? : Hypertext Transfer Protocol의 약자로, 통신 프로토콜. - WEB에서는 브라우저와 서버 간에 데이터를 주고받기 위한 방식으로 사용됨. - WEB 상에서 HTML을 서로 주고 받을 수 있도록 만들어진 프로토콜(통신 규약) "난 이렇게 줄테니, 넌 이렇게 받아" -> 이런식으로 형식을 정해놓은 것 프로토콜이란, 상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고 받기 위해 정의된 규격 2. HTTP 프로토콜 특징 : Stateless (상태가 없는) 프로토콜. Stateless란, 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리되는 것. 즉, 이전 요청과 다음 요청이 서로 관련이 없다는 뜻! 일반적으로 TCP/IP 통신 위에서 동작..

[IT]/Network 2021.01.17

[Python] 플라스크(Flask)란? 파이썬 웹 프레임 워크

1. 플라스크(Flask)란? 파이썬으로 작성된 마이크로 웹 프레임워크. 마이크로의 의미는, 프레임워크를 간결하게 유지하고 확장할 수 있도록 만들었다는 뜻 * 간결하다는 것은 무슨 뜻일까? - 플라스크를 이용하면 파일 하나로 구성된 짧은 코드만으로도 완변하게 동작하는 웹 프로그램 구현 가능하다. from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run() * 확장성 있는 설계란? - 플라스크에는 폼(form), 데이터베이스(database)를 처리하는 기능이 없다. 플라스크는 이를 확장 모듈이라는 것을 사용하여 보완한다. 처음부..

[IT]/Python 2021.01.03

[REST][REST API] REST란 무엇일까?

REST / REST API는 평소 자주 듣는 단어이고 잘 알고 있다고 생각했지만, "REST API가 뭐야?" 라는 질문에 답을 쉽게할 수 없었다. 그래서, 좀 더 상세하게 공부하여 기록해보려한다. 1. REST 뜻? REST는 Representational State Transfer의 약자. 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것. (즉, 자원(Resource)의 표현(Representation)에 의한 상태 전달) 더보기 즉, 자원(Resource)의 표현(Representation)에 의한 상태 전달 1) 자원(Resource)의 표현(Representation) - 자원 : 해당 소프트웨어가 관리하는 모든 것. (Ex. 문서, 그림, 데이터 ...)..

[IT]/JAVA 2020.12.29

[Java] 자바 데이터 타입, 변수 그리고 배열 / Primitive / reference / literal

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브(Primitive) 타입 종류와 값의 범위 그리고 기본 값 - 기본형(Primitive) 타입 총 8가지로 구성되며, 메모리의 Stack에 저장됨. 기본값이 있기 때문에 Null 이 존재하지 않음. 만약 기본형 타입에 Null을 넣고 싶다면 Wrapper 클래스를 사용해야함. 2. 프리미티브 타입(primitive type)과 레퍼런스 타입(reference type) ..

[IT]/JAVA 2020.12.06