SQL의 명령어 데이터 조작어(DML, Data Manipulation Language): SELETE, INSERT, UPDATE, DELETE 데이터 정의어(DDL, Data Definition Language): CREATE, ALTER, DROP, RENAME 데이터 제어어(DCL, Data Control Language): GRANT, REVOKE 트랜잭션 제어어(TCL, Transaction Control Language): COMMIT, ROLLBACK 제약조건의 종류 PRIMARY KEY 기본키 >> 테이블 당 1개, 중복값과 NULL 허용하지 않는다. FOREIGN KEY 외래키 UNIQUE KEY 고유키 >> 테이블 내에서 중복되는 값이 없다. NOT NULL CHECK ALTER TA..
성능을 고려한 데이터 모델링 1. 데이터 모델링을 할 때 정규화를 정확하게 수행한다. 2. 데이터베이스 용량산정을 수행한다. 3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다. 4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다. 5. 이력 모델의 조정, PK/FK 조정, 슈퍼차입/서브타입 조정 등을 수행한다. 6. 성능관점에서 데이터 모델을 검증한다. 데이터베이스 정규화 불필요한 데이터를 제거하고 테이블 구성을 논리적, 직관적으로 하기 위한 방법이 바로 정규화이다. 정규화는 1차 정규화, 2차 정규화, 3차 정규화, BCNF, 4차 정규화, 5차 정규화로 나눠지는데 아래에 각각에 대해 설명해보고자 한다. 먼저 1차 정규화는 각 로우마다 컬럼을 1개씩, 원자값 갖는 것을 말한다. 예를 들어, 한..
데이터 모델링 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법. 데이터 모델링의 유의점은 중복, 비유연성, 비일관성이 있다. 데이터 혹은 속성은 중복으로 저장되지 않도록 해 데이터베이스가 여러 장소에서 같은 정보를 저장하는 잘못을 하지 않도록 해야 한다. 데이터 모델을 어떻게 설계했냐에 따라 사소한 변화에도 데이터 모델이 수시로 변경되어 유지보수가 어려워질 수 있다. 따라서 추후 변화에 따라 유연하게 변할 수 있다는 점을 고려해서 설계해야 한다. 그리고 연관된 데이터의 갱신을 피할 수 있도록 데이터 간 관계를 명확히 정의해야 한다. 스키마 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것. DBMS이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 ..
프로그램의 설계시에 어떤 것을 고려해야 할까? 설계 과정에서 작성하는 문서는 요구사항 정의서, 스토리보드 등이 있다. 이 문서에서 다루는 내용들은 주로 무엇(데이터)을 어떻게(알고리즘, 기능), 누구(사용자)에게 보여줄 것인가에 대한 내용이다. 즉, 우리가 고려할 사항은 데이터를 제공하는 서비스를 사용하는 사람과 데이터, 알고리즘과 같은 기능들이다. 설계시에 알고리즘이 중요한 이유는 무엇일까 알고리즘은 일련의 명령어이다. 쉽게 말해 어떠한 요청에 따른 응답을 나타내기 위한 방법이라고 생각할 수 있다. 스포티파이라는 음악 추천어플을 생각해보자. 스포티파이는 어떤 음악이 이용 고객에게 추천 음악을 알려주고 고객의 음악 취향을 분석한다. 이런 서비스를 제공하는 과정을 가능하게 하는 것이 바로 알고리즘이다. 어..
블록체인이란? 암호화폐의 근간이 된 블록체인은 무엇일까? 관리대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다. >> 그렇다면, 위 정의를 하나하나 해석해보자. P2P(peer-to-peer network)란 동등 계층간 통신망이라고 한다. 클라이언트와 서버란 개념없이 동등 노드로 이루어진 통신망을 의미한다. 중앙 집중관리식과 반대되는 개념이다. 그리고 여기서 핵심은 '누구라도 임의 수정할 수 없고 변경의 결과를 열람할 수 있는' 이라는 점이다. 블록체인의 개념은 당사자..
2021.10.28 - [Developer/Spring] - maven 빌드 pom.xml 구성 올해 중순에 수행한 팀 프로젝트의 package explorer 구성을 적어본다. 개발을 처음 시작했을 때 가장 궁금했던 부분이고, 어디에 어떤 파일이 위치하는지가 알고싶었던 나와 같은 다른 사람들에게 조금이나마 도움이 되었으면 좋겠다. (GitHub에 더 많은 자료가 있지만 설명과 함께 설명이 되어 있는 곳을 찾는 것이 응근 쉽지 않았다.) + 프로젝트 구성은 개발자의 의도와 프레임워크 구성에 따라 상이하므로 참고로 보는 것을 추천한다. 개발환경: Spring Maven, Eclipse, JAVA, JS, CSS, HTML, JSP, Oracle XE, Window 10 Spring maven 구성에 대한 ..
Spring 자바 언어 기반의 프레임워크, 객체 지향 프로그램을 만들 수 있게 도와주는 프레임워크이다. 순수한 객체지향으로 돌아가기 위한 (POJO)를 가능하게 하는 DI 컨테이너를 가지고 있기 때문이다. Spring Boot를 통해서 Spring 프레임워크를 편리하게 이용할 수 있다. 1. Spring boot는 단독 애플리케이션을 쉽게 생성한다. 빌드와 서버 Tomcat 내장으로 별도의 설치가 필요없다. 2. starter 종속성을 제공한다. 연관된 라이브러리를 당겨올 수 있다. 3. 외부 라이브러리 버전을 별도로 확인할 필요가 없다. Spring 에서 자동 구성해주기 때문이다. 4. 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공 Spring boot만을 가지고 단독으로 사용하는 것이..
" 오브젝트 생명주기와 의존관계에 대한 프로그래밍 모델 " 정부표준 프레임워크로도 사용되며, 자바 기반의 서비스가 많이 구축되어 있는 국내 그리고 해외에서 유용하게 사용되기 때문에 Spring은 중요하다. 1. 오픈소스 프레임워크 자바 애플리케이션 개발을 위해 Spring 프레임워크 개발자들이 개발, 구축해나가는 시스템이다. 2. 경량 컨테이너로서 자바 객체를 관리 여기서 스프링 컨테이너란 자바 객체(빈)의 생명주기를 관리하며, 객체들에 추가적인 기능을 제공하는 역할을 한다. 스프링 컨테이너는 BeanFactory와 ApplicationContext가 있다. BeanFactory는 빈을 등록하고 생성, 조회 등 빈을 관리하는 역할을 한다. ApplicationContext도 BeanFactory와 같이 ..
- intellij
- SQLD
- LifecycleException
- 기술블로그
- gradle
- 노마드코더
- filezila
- spring
- JIRA
- git연동
- 실용주의프로그래머
- 북클럽
- 호스팅영역
- EC2
- 배포
- jdbc
- 웹페이지만들기
- IT 5분 잡학사전
- java
- gradle build
- 노개북
- 독서후기
- putty
- 개발도서
- 정보처리기사 실기
- 정보처리기사 필기
- 오늘의코딩
- 정보처리기사
- ubuntu
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |