5일차(6/13화)
<수업에선 간단한 쇼핑몰을 만들 것임>
금융권을 가게된다면
- JetBrains, intelliJ (IDE)
- Java에서 char 는 보안에 유리하다
- 문자 인코딩 일관성
- 다양한 문자 인코딩 체계를 사용하는 상황에서 일관성을 유지할 수 있음
- 문자열 리터럴 상수화
- Java에서
char
데이터 타입은 문자열 리터럴 상수로 사용될 수 있음.
- 리터럴 상수란?
- 암호화 키 관리
- 암호화에서는 키 관리가 중요한 요소
char
데이터 타입은 문자열이 아닌 문자 배열로 암호화 키를 저장할 수 있음.
- 보안 강화
😊mySQL
[언어에 독립적이다.]
- sql을배우는 이유 db접속정보 = 아키 ~테이블에 ~정보를 가지고오는 걸 쿼리를 만들고 실행한 결과를 도출할 수 있어야한다.
다운로드
- full선택
- ID : root
- PW : 1234
- 좌측 중단에 스키마가 있음.
![](https://velog.velcdn.com/images/jja6312/post/33fd6e4b-d2f5-4e76-aef3-5de86d1b525c/image.png)
<환경설정>
![](https://velog.velcdn.com/images/jja6312/post/9c8bf441-a92c-472b-8de1-f4c430203187/image.png)
<새로운 스키마 만들기>
![](https://velog.velcdn.com/images/jja6312/post/b796374b-4cae-4141-b83e-01aab3255dd3/image.png)
<잘 되고있는지 Check!>
![](https://velog.velcdn.com/images/jja6312/post/bab20038-5940-4d3d-b272-feb1dba472d9/image.png)
SQL ( Structured Query Language )
-
RDBMS에서 사용되는 언어, ‘SQL’ 또는 ‘시퀄’
-
DBMS제작 회사와 독립적
-
다른 시스템으로 이식성이 좋음
-
표준이 계속 발전중
-
대화식 언어
-
분산형 클라이언트 언어
튜플의 무순서성
![](https://velog.velcdn.com/images/jja6312/post/b2175dd0-7809-4f6a-b1ed-651207635df5/image.png)
<명령어>
![](https://velog.velcdn.com/images/jja6312/post/b5cc9e05-b4a6-4bd4-982a-b30f158d3b8a/image.png)
-
select
- DB에서 원하는 데이터를 가져와 줌.
- from
- SELECT 필드명(속성) FROM 테이블명
![](https://velog.velcdn.com/images/jja6312/post/658e7b4f-a842-4f1c-a7bf-138003a3470c/image.png)
- 특정 조건의 데이터 조회
- where
- =
![](https://velog.velcdn.com/images/jja6312/post/c6566018-3439-4fe6-8a70-d92d05ad7132/image.png)
![](https://velog.velcdn.com/images/jja6312/post/64adf3c8-2434-4997-935a-38ea3460d60e/image.png)
예시(6/15)
![](https://velog.velcdn.com/images/jja6312/post/f940bb20-9bdc-46b9-a2d8-f3383a74f88f/image.png)
- !=
![](https://velog.velcdn.com/images/jja6312/post/0beff529-f20c-404f-9170-2efd5d888fdb/image.png)
- drop table ~~~
- CREATE TABLE ~~~
- use ~~~
- (한 줄 주석)
- /* */
- and
![](https://velog.velcdn.com/images/jja6312/post/58fa35a5-6fed-4511-a8bb-fb281389fa03/image.png)
- 구별하기 쉽게 단락을 맞추자~
- 대,소문자 관계x. but 대문자를 좋아하는 상사가 있을 수 있다.
❣️데이터베이스
- (중복을 최소화하여 통합하고)데이터의 집합
- (공용성,) 여러 사용자나 응용프로그램이 공유하는 데이터들
- (동시성을 가진) 동시에 접근 가능해야 함
- (데이터 저장 공간이다.) 데이터의 저장 공간 자체
❣️DBMS
- 데이터베이스를 관리,운영하는 역할
DB/DBMS의 특징
- 데이터의 무결성(Integrity)
- 데이터는 오류가 없어야 한다.
- 제약 조건(Constrain)이라는 특성을 가진다.
- 데이터의 독립성
- DB 크기를 변경하거나 데이터 파일의 저장소 변경시 기존에 작성된 응용프로그램은 전혀 영향을 받지 않는다.
- 보안
- DB 안의 데이터에 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 한다.
- 데이터 중복의 최소화
- 응용 프로그램 제작 및 수정이 쉬워짐
데이터 베이스의 발전
- DMBS
- 파일 시스템의 단점 보완
- 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용
- DBMS
- 데이터 집합인 DB를 잘 관리하고 운영하기 위함
- SQL
- DBMS에 데이터 구축/관리/활용 위해서 사용되는 언어
- DBMS를 통해 중요한 정보를 입력,관리,추출
DBMS 의 종류
- 계층형(Hierachical) DBMS : HDBMS
![](https://velog.velcdn.com/images/jja6312/post/a4628895-73ab-497f-b8b0-1ce18380d0c4/image.png)
- 데이터가 계층적이며 상하 종속적인 관계로 구성
- 각 계층은 트리Tree 형태, 1:N 관계
- 장점
- 데이터 액세스 처리 속도가 빠름
- 데이터 사용량의 예측이 쉬움
- 단점
- 처음 구축한 이후 그 구조를 변경하기 까다로움
- 접근 유연성이 부족해서 임의의 검색에는 어려움
- 망형(Networt) DBMS : NDBMS
![](https://velog.velcdn.com/images/jja6312/post/309af8b1-8fa1-4755-9593-5525fdd4e21c/image.png)
-
데이터 구조를 네트워크상의 노드 형태로 논리적이게 표현한 데이터 모델로서 각각의 노드를 서로 대등한 관계로 구성한 시스템
-
계층형 DBMS의 문제점을 개선하기 위해 1970년 시작.
-
1:1, 1:N, N:M 관계 지원 ⇒ 효과적이고 빠른 데이터 추출
-
복잡한 내부 포인터 사용
-
관계형(Relational) DBMS : RDBMS
![](https://velog.velcdn.com/images/jja6312/post/2650512f-d9fd-41da-b9b2-31d6b0ae2f04/image.png)
![](https://velog.velcdn.com/images/jja6312/post/06658712-0948-48af-83b1-be2a858b6a81/image.png)
-
수학적 논리 관계를 테이블의 형태로 구성한 구조로서 테이블 내의 컬럼 중 일부를 다른 테이블과 중복해 각 테이블간의 상관관계를 정의
-
데이터베이스는 테이블Table이라 불리는 최소 단위로 구성
-
이 테이블은 하나 이상의 열로 구성
-
ex) 교수와 학생이 있다. (’강의’라는 관계를 가지지?)
-
장점
- 업무 변경이 생길 때 쉽게 변화에 순응
- 유지 보수 용이
- 무결성Intergration 보장
-
단점
-
객체(Object Oriented)지향형 : OODBMS
![](https://velog.velcdn.com/images/jja6312/post/e5a15947-572b-4367-a808-3c594e7ecf3a/image.png)
- 멀티미디어 데이터의 원활한 처리와 RDBMS의 비지니스형 데이터 타입만 처리되는 기본적인 제한점을 극복하고자 고안
- 객체 지향 데이터 모델을 사용
- 데이터는 객체로 표현되며
- 객체는 속성(attribute)과 메서드(method)로 구성
- 상속과 다형성
- 객체지향형 DBMS는 객체의 속성을 기반으로 검색을 수행할 수 있음
데이터베이스 모델링
데이터베이스 모델링이란? 개념
- 현세계에서 사용되는 작업이나 사물들을 DBMS에 데이터베이스 개체로 옮기기 위한 작업
- 개념적 모델링
- 개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정
- 업무 분석 단계에 포함
![](https://velog.velcdn.com/images/jja6312/post/85a52d01-b1df-4bba-9a21-38928944d3ba/image.png)
-
논리적 모델링
- ER다이어그램을 사용하여 관계 스키마 모델을 만드는 과정
- 업무 분석의 후반부와 시스템 설계의 전반적
![](https://velog.velcdn.com/images/jja6312/post/b5715fe5-46c7-4853-be53-b9addd326267/image.png)
-
물리적 모델링
- 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정
- 시스템 설계의 후반부에 주로 진행
![](https://velog.velcdn.com/images/jja6312/post/bd71babc-0c2f-4a8a-bf16-d5ec0bd7b928/image.png)
ER모델()
• ER모델: 세상의 모든 사물을 개체(Entity)와 개체 간의 관계(Relationship)으로 표현
<언어>
<단축키>
실행 : ctrl + Enter
👿Java
스위치문, 반복문에만 적용가능.
- switch
- case
- break (제어문에 해당되는 키워드. 스위치문과 반복문에 사용가능.)
- 반복문(switch)에서 벗어나고 싶을 때 사용
- default
![](https://velog.velcdn.com/images/jja6312/post/41275e26-6734-49e6-bcf5-3eb146c25248/image.png)
반복문
for문
![](https://velog.velcdn.com/images/jja6312/post/687e10de-0fd2-4b87-8d79-270ffc48d8d7/image.png)
-
for문 예제1
![](https://velog.velcdn.com/images/jja6312/post/7fe703df-efcd-4c71-9178-fec3eb4dc137/image.png)
for문 예제2
![](https://velog.velcdn.com/images/jja6312/post/8faeb6eb-8fff-4c8c-b0c0-f517d82e488a/image.png)
-
while문
-
do~while문
🕵️♂️CSS
- background-image
- background-repeat
용어정리
- 노드
- 링크드 리스트, 트리 등과 같은 자료 구조에서 사용되는 개별적인 요소
- ex ) 링크드 리스트의 노드는 데이터와 다음 노드를 가리키는 포인터로 구성될 수 있음.
- ERD; Entity-Relationship Diagram : 엔터티-관계 다이어그램
- 데이터베이스 설계를 시각적으로 표현하기 위해 사용되는 도구
- 엔터티(개체)와 그들 간의 관계를 그래픽으로 표현
- EMP;Employees ⇒관례적인 테이블 이름.
- 주로 사원 정보를 저장하는 데 사용되는 예제 테이블
- EMPNO
- 일반적으로 사원 식별 번호를 나타내는 열(칼럼)의 이름으로 사용
- DEPTNO; Department Number
- DDL; Data Definition Language : 데이터 정의 언어
- DML; Data Manipulation Language : 데이터 조작 언어
- CRUD; Create, Read, Update, Delete : 생성, 조회, 수정, 삭제
데이터베이스 설계 단계
- 개념적 모델링
- 현실 세계의 개념과 비즈니스 요구사항을 기반으로 데이터베이스의 논리적인 구조를 정의하는 과정
- 논리적 모델링
- 개념적 모델을 실제 데이터베이스 시스템에 맞게 변환하는 단계
- 물리적 모델링
- 논리적 모델링에서 정의한 데이터 구조를 실제 데이터베이스 관리 시스템(DBMS)에 맞게 구현하는 과정
![](https://velog.velcdn.com/images/jja6312/post/773abcfb-0b2d-4c4a-9312-43d639c76559/image.png)
점선 : 일반속성
실선 : 키
필드형
데이터타입(보정형 캐릭터형)
만약 var - char 라면 가변형 캐릭터형.
그림으로 구현이 다 되어 있으면 물리적 모델링이 끝난 것
(한글로만 구현 되어있으면 논리적 모델링)
모델링이 끝나면 DBA가 모델링에 따라 테이블 만들고 데이터베이스 만들고 한다.