5일차(6/13화)
<수업에선 간단한 쇼핑몰을 만들 것임>
금융권을 가게된다면
- JetBrains, intelliJ (IDE)
- Java에서 char 는 보안에 유리하다
- 문자 인코딩 일관성
- 다양한 문자 인코딩 체계를 사용하는 상황에서 일관성을 유지할 수 있음
- 문자열 리터럴 상수화
- Java에서
char 데이터 타입은 문자열 리터럴 상수로 사용될 수 있음.
- 리터럴 상수란?
- 암호화 키 관리
- 암호화에서는 키 관리가 중요한 요소
char 데이터 타입은 문자열이 아닌 문자 배열로 암호화 키를 저장할 수 있음.
- 보안 강화
😊mySQL
[언어에 독립적이다.]
- sql을배우는 이유 db접속정보 = 아키 ~테이블에 ~정보를 가지고오는 걸 쿼리를 만들고 실행한 결과를 도출할 수 있어야한다.
다운로드
- full선택
- ID : root
- PW : 1234
- 좌측 중단에 스키마가 있음.

<환경설정>

<새로운 스키마 만들기>

<잘 되고있는지 Check!>

SQL ( Structured Query Language )
-
RDBMS에서 사용되는 언어, ‘SQL’ 또는 ‘시퀄’
-
DBMS제작 회사와 독립적
-
다른 시스템으로 이식성이 좋음
-
표준이 계속 발전중
-
대화식 언어
-
분산형 클라이언트 언어
튜플의 무순서성

<명령어>

-
select
- DB에서 원하는 데이터를 가져와 줌.
- from
- SELECT 필드명(속성) FROM 테이블명

- 특정 조건의 데이터 조회
- where
- =


예시(6/15)

- !=

- drop table ~~~
- CREATE TABLE ~~~
- use ~~~
- (한 줄 주석)
- /* */
- and

- 구별하기 쉽게 단락을 맞추자~
- 대,소문자 관계x. but 대문자를 좋아하는 상사가 있을 수 있다.
❣️데이터베이스
- (중복을 최소화하여 통합하고)데이터의 집합
- (공용성,) 여러 사용자나 응용프로그램이 공유하는 데이터들
- (동시성을 가진) 동시에 접근 가능해야 함
- (데이터 저장 공간이다.) 데이터의 저장 공간 자체
❣️DBMS
- 데이터베이스를 관리,운영하는 역할
DB/DBMS의 특징
- 데이터의 무결성(Integrity)
- 데이터는 오류가 없어야 한다.
- 제약 조건(Constrain)이라는 특성을 가진다.
- 데이터의 독립성
- DB 크기를 변경하거나 데이터 파일의 저장소 변경시 기존에 작성된 응용프로그램은 전혀 영향을 받지 않는다.
- 보안
- DB 안의 데이터에 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 한다.
- 데이터 중복의 최소화
- 응용 프로그램 제작 및 수정이 쉬워짐
데이터 베이스의 발전
- DMBS
- 파일 시스템의 단점 보완
- 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용
- DBMS
- 데이터 집합인 DB를 잘 관리하고 운영하기 위함
- SQL
- DBMS에 데이터 구축/관리/활용 위해서 사용되는 언어
- DBMS를 통해 중요한 정보를 입력,관리,추출
DBMS 의 종류
- 계층형(Hierachical) DBMS : HDBMS

- 데이터가 계층적이며 상하 종속적인 관계로 구성
- 각 계층은 트리Tree 형태, 1:N 관계
- 장점
- 데이터 액세스 처리 속도가 빠름
- 데이터 사용량의 예측이 쉬움
- 단점
- 처음 구축한 이후 그 구조를 변경하기 까다로움
- 접근 유연성이 부족해서 임의의 검색에는 어려움
- 망형(Networt) DBMS : NDBMS

-
데이터 구조를 네트워크상의 노드 형태로 논리적이게 표현한 데이터 모델로서 각각의 노드를 서로 대등한 관계로 구성한 시스템
-
계층형 DBMS의 문제점을 개선하기 위해 1970년 시작.
-
1:1, 1:N, N:M 관계 지원 ⇒ 효과적이고 빠른 데이터 추출
-
복잡한 내부 포인터 사용
-
관계형(Relational) DBMS : RDBMS


-
수학적 논리 관계를 테이블의 형태로 구성한 구조로서 테이블 내의 컬럼 중 일부를 다른 테이블과 중복해 각 테이블간의 상관관계를 정의
-
데이터베이스는 테이블Table이라 불리는 최소 단위로 구성
-
이 테이블은 하나 이상의 열로 구성
-
ex) 교수와 학생이 있다. (’강의’라는 관계를 가지지?)
-
장점
- 업무 변경이 생길 때 쉽게 변화에 순응
- 유지 보수 용이
- 무결성Intergration 보장
-
단점
-
객체(Object Oriented)지향형 : OODBMS

- 멀티미디어 데이터의 원활한 처리와 RDBMS의 비지니스형 데이터 타입만 처리되는 기본적인 제한점을 극복하고자 고안
- 객체 지향 데이터 모델을 사용
- 데이터는 객체로 표현되며
- 객체는 속성(attribute)과 메서드(method)로 구성
- 상속과 다형성
- 객체지향형 DBMS는 객체의 속성을 기반으로 검색을 수행할 수 있음
데이터베이스 모델링
데이터베이스 모델링이란? 개념
- 현세계에서 사용되는 작업이나 사물들을 DBMS에 데이터베이스 개체로 옮기기 위한 작업
- 개념적 모델링
- 개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정
- 업무 분석 단계에 포함

-
논리적 모델링
- ER다이어그램을 사용하여 관계 스키마 모델을 만드는 과정
- 업무 분석의 후반부와 시스템 설계의 전반적

-
물리적 모델링
- 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정
- 시스템 설계의 후반부에 주로 진행

ER모델()
• ER모델: 세상의 모든 사물을 개체(Entity)와 개체 간의 관계(Relationship)으로 표현
<언어>
<단축키>
실행 : ctrl + Enter
👿Java
스위치문, 반복문에만 적용가능.
- switch
- case
- break (제어문에 해당되는 키워드. 스위치문과 반복문에 사용가능.)
- 반복문(switch)에서 벗어나고 싶을 때 사용
- default

반복문
for문

-
for문 예제1

for문 예제2

-
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)에 맞게 구현하는 과정

점선 : 일반속성
실선 : 키
필드형
데이터타입(보정형 캐릭터형)
만약 var - char 라면 가변형 캐릭터형.
그림으로 구현이 다 되어 있으면 물리적 모델링이 끝난 것
(한글로만 구현 되어있으면 논리적 모델링)
모델링이 끝나면 DBA가 모델링에 따라 테이블 만들고 데이터베이스 만들고 한다.