2-2. 설계2단계 개념적 설계 앞의 1단계에서 요구사항을 분석하였다면 그것을 토대로 E-R 다이어그램을 그려서 개념적 설계를 한다.그리고 1단계 요구사항분석을 토대로 작성하면 대충 아래와 같이 만들어진다.개체는 요구사항 문장에서 업무와 관련이 깊은 의미 있는 명사를 찾아내주어서 만든다.그렇게 찾아낸 명사를 개체와 속성으로 분류해준다.회원아이디, 비밀번호, 이름, 나이 ,직업..... 등등은 회원의 속성이 되고 그중에서도 회원아이디는 기본키 속성이 된다. Backend/DataBase 2021.07.13
2-1. 설계 1단계 : 요구 사항 분석 사용자의 요구 사항을 수집하고 분석해서 개발할 데이터베이스의 용도를 파악한다.업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려한다. 예시로 보여주면 위와 같은 요구사항이 있다면, 여기에서 고유명사를 제외한 '명사'를 추출해내면 편하게 분석할 수 있다.1. 회원, 회원아이디, 비밀번호, 이름 ,나이 , 직업2. 회원, 등급, 적립금3. 회원, 회원아이디4. 상품, 상품번호, 상품명, 재고량, 단가 정보5. 상품 상품번호.... 이런식으로 분류가 가능하다. 분류를 하고나면 테이블에 필요한 컬럼이 무엇인지 알기 쉬워진다.회원 테이블에는 아이디,비밀번호,이름,나이,직업,등급,적립금이 들어가게 될것이다.이중에 ~~로 식별한다는 P.K. (기본키)로 설정해주면 된다. Backend/DataBase 2021.07.12
2. 데이터베이스 설계, 환경만들기 https://ko.exerd.com/ eXERD편리한 사용법 매우 직관적인 위지윅 모델링 도구로 쉽고, 빠르고, 동적인 인터페이스를 제공합니다 합리적가격 이클립스통합ko.exerd.com모델링 툴이클립스 플러그인으로 설치해준다. 이클립스에서 help - Install New Software - Work with에https://exerd.com/update/3.x/ 를 add 해주면 설치가 된다.설치가 완료되면 Restart Now가 나오는데 이 때 재시작 해주면 된다. 이클립스 우측상단에open perspective에서 exerd를 추가해준다.그러고 eXERD파일을 생성해준다. Backend/DataBase 2021.07.12
9.[Oracle] 오라클 객체 1)VIEW 객체가상의 테이블필요한 정보가 여러 테이블에 분산되어 저장되어 있어 자주 조인이 발생되는 경우,테이블 중 일부 컬럼이나 행만 요구되는 경우,특정 테이블의 접근을 제한하고 결과만 제공하는 경우CREATE [OR REPLACE] VEIW 뷰이름[(컬럼리스트)]AS SELECT 문 [WITH CHECK OPTION] [WITH READ ONLY] 2)SEQUENCE 객체자동적으로 증가 또는 감소되는 번호를 생성테이블과 독립적 사용테이블에 기본키로 사용된 적당한 컬럼이 없는 경우 기본키로 사용될 수 있음CREATE SEQUENCE 시퀀스명 [START WITH n] -- 시작값(생략되면 MINVALUE) [INCREMENT BY n] -- 증감 값 [MAXVALUE n|NOMAX.. Backend/DataBase 2021.07.06
8.[Oracle] 집합연산자 다수의 테이블의 내용을 단일 테이블 처럼 조회UNION ALL, UNION, INTERSECT, MINUS첫번째 SELECT문의 SELECT절이 기본으로 적용된다.모든 SELECT 절의 컬럼수, 순서, 데이터 타입이 일치해야 한다.ORDER BY 절은 맨 마지막 SELECT문에서만 사용 가능하다. 1) UNION중복자료는 배제하면서, 합집합의 결과를 반환한다. 2) UNIOM ALL중복자료를 포함하면서, 합집합의 결과를 반환한다. 3) INTERSECT 교집합의 결과를 반환한다. 4) MINUS차집합의 결과를 반환한다. Backend/DataBase 2021.07.06
7.[Oracle] 서브쿼리 SQL구문 안에 또 다른 SQL 구문이 포함된 형태를 말한다.많은 JOIN을 대신할 수 있고, 메인 쿼리의 결과를 얻기위해 필요한 중간 결과를 산출하기 위해 사용된다.메인쿼리와 연관성에 따라 연관성 없는 서브쿼리 : 메인쿼리와 조인으로 연결되지 않은 서브쿼리; 연관성 있는 서브쿼리 : 메인쿼리와 조인으로 연결된 서브쿼리사용위치에 따라 일반 서브쿼리 : SELECT 절에 사용 인라인(in-line)서브쿼리 : FROM절에 사용(독립실행이 가능해야 함) 중첩서브쿼리 : WHERE절에 사용반환값에 따라 단일행/단일열, 단일행,다중열, 다중행/단일열, 다중행/다중열DML 명령에도 많이 사용된다.알려지지 않은 조건에 근거하는 값들을 조회하기위해 사용한다. 1) 연관성 없는 서브쿼리메인쿼리에 사용된 테이블과 서브쿼.. Backend/DataBase 2021.07.01
6. [Oracle] 테이블 조인 관계형 데이터베이스의 핵심 기능이다.여러 테이블에 분산되어 있는 자료를 조회하는 방식을 택하고,조인에 참여하는 테이블들은 반드시 관계(Relationship)가 존재해야 한다.테이블의 갯수가 n개일때 관계조건은 적어도 n-1개 이상 이어야한다.일반 조인/ANSI 조인, 내부조인/외부조인 으로 구분된다.조인조건 구성에 사용되는 연산자에 따라 동등조인/비동등조인으로 구분되기도 한다. 1. 일반조인각 DBMS 회사에서 자사 DBMS에 최적화 되도록 구성한 문법1) CARTESIAN PRODUCT조인조건이 없거나 조인조건이 잘못되었을 때 발생한다.ANSI JOIN 중 CROSS JOIN에 해당한다.SELECT COUNT(*) FROM CART, BUYPROD, PROD; 위를 실행하면 아무런 조건이 없어서 3.. Backend/DataBase 2021.06.25
5. [Oracle] 함수(function) 1. 문자열 함수 1) CONCAT(c1,c2)두 문자열 c1과 c2를 결합하여 새로운 문자열을 반환한다. ||와 같은기능을 한다. 2) LOWER(c1), UPPER(c1) , INITCAP(c1) LOWER : c1에 저장된 자료를 모두 소문자로 변환한다. UPPER : c1에 저장된 자료를 모두 대문자로 변환한다. INITCAP : c1에 저장된 자료 중 단어의 첫 글자만 대문자로 변환한다. 3) LPAD(c1,n[,c2]) , RPAD(c1,n[,c2])지정된 길이 n만큼의 기억공간에 왼쪽(LPAD) 또는 오른쪽(RPAD) 부터 c1을 채우고 남는 공간은 c2를 채운다.LPAD는 수호 보호문자를 지정하는데 자주 사용된다. 4) LTRIM(c1[,c2]) RTRIM(c1[,c2]), TRIM(c1.. Backend/DataBase 2021.06.16
3. [Oracle] DML_INSERT 구문 사용하기 오늘은 SQL의 DML(Data Manipulation Language)중 INSERT 문을 사용할 것이다.DML은 데이터 조작어를 의미하며 테이블 내의 데이터를 추가, 변경, 삭제 해주는 언어이다.그중에서도 INSERT문은 테이블에 자료가 없을 때 테이블에 데이터를 저장해주는 명령어이다. 사용형식은 아래와 같다.INSERT INTO 테이블명(컬럼명1, 컬럼명2 ....) VALUES(값1,값2.....) 주의해야할 점은 컬럼명은 생략이 가능하고, 생략하면 테이블 생성시 기술한 순서대로 모든값을 VALUES절에 기술하면 된다.컬럼명을 기술하는 경우 필요한 자료만 입력이 가능해진다. 단, NOT NULL은 생략불가능여서 NN으로 지정된 컬럼에는 반드시 데이터를 삽입해주어야 한다. https:/.. Backend/DataBase 2021.06.10
1. 기본 용어, 관계형 데이터베이스 (RDB) 데이터베이스에 대해 알아보기 전에 우선 간단한 기본용어에 대한 설명을 해보도록 하겠다. * 데이터(data) - 데이터란 실세계의 실체를 묘사하는 값이다. 정형화되고 기록할만한 가치가 있다고 판단되는 어떤 현상이나 사건, 아이디어에 대한 묘사를 나타내주는게 데이터다. * 정보(information) - 데이터는 사실들 그 자체에 대한 표현이라면, 정보는 특정 상황에 대한 의사결정을 내릴 유용한 해석이나, 데이터 상호간의 관계를 의미한다. * 메타데이터(metaData) - 데이터를 위한 데이터, 데이터에 대한 데이터를 나타낸다.구조(structure), 제약사항(constraints), 속성(properties), 특성(characteristics)등을 기술해준다. * NULL - 공백을 가지지 않는 아.. Backend/DataBase 2021.06.08